我正在尝试从API提取数据,然后使用mounted()
方法通过vue显示数据,但是当我尝试使用它时,它表示this
基本上没有定义。
我没有使用NodeJS。
<script>
"use strict";
(function() {
var app = new Vue({
el: "#app",
data () {
return {
books: null
}
},
mounted () {
var api = fermata.json("/api/books");
api.get(function(err, res) {
if(res.success) {
this.books = res.result;
}
});
}
});
})();
</script>
哪个给我以下错误
Uncaught TypeError: Cannot set property 'books' of undefined
答案 0 :(得分:0)
您的代码应像这样,为this
关键字创建别名,而api.get
可能会失去this
的范围。
mounted () {
var api = fermata.json("/api/books");
var _this = this;
api.get(function(err, res) {
if(res.success) {
_this.books = res.result;
}
});
}