我试图将实例data()中的值设置Vue为从调用返回的 Promise 中检索到的值mongodb api。我能够检索我正在尝试实现的数据,但是很难在现场使用它,data()以便我可以在模板中访问它。
我找到的一些解决方案似乎vue2在这种情况下不起作用。提前致谢。
维埃
<template>
<Article :title=posts[0].title></Article> // Another Vue component
</template>
let stories;
export default {
data() {
return {
posts: {}
}
},
methods: {
loadPosts() {
stories = getPosts(); // makes an api request to a mongodb that returns a Promise
stories.then(function(response) {
this.posts = response.posts;
console.log(response.posts[0].title); // "My Post Title"
});
}
},
mounted() {
this.loadPosts();
}
}
Run Code Online (Sandbox Code Playgroud)
我收到的错误说
未捕获(承诺中)类型错误:无法设置未定义的属性“帖子”
在参照this.posts = ...
我在 Reactjs 中编写了一个函数,如果满足特定条件,我想返回带有图标的文本。这是我的写法
if (actionNeeded) {
return abbreviation + <i className={'fa fa-exclamation-circle fa-fw'} />;
}
Run Code Online (Sandbox Code Playgroud)
这将返回text [object Object]而不是text (icon). 我怎样才能让它发挥作用?