如果我正在使用它。$ onInit();来自其他功能的工作。 但如果用函数调用它会给出一个未定义的错误。
我是angularjs的新手。请帮我解决这个问题。
class ChatComponent {
constructor($http, $scope, socket, Auth, $interval) {
this.$http = $http;
this.socket = socket;
this.users = [];
this.setView = false;
this.suggestionResponse = {};
this.$interval = $interval;
this.activeConversion = {};
this.currentUser = Auth.getCurrentUser()._id;
console.log(this.currentUser);
$interval(function() { this.$onInit; },10000);
}
$onInit() {
this.$http.post('/api/conversions/getconversation', {
userId: this.currentUser
}).then(response => {
var conversionArray = response.data[0].conversions;
for(var i=0; i < conversionArray.length; i++){
var metch = this.mergeArray(conversionArray[i]._id, response.data[0].messages);
if(metch){
conversionArray[i].message = metch;
}
else{
conversionArray[i].message = [];
}
}
this.users = conversionArray;
});
}
}
}
$ onInit方法简单获取转化的最后消息。
答案 0 :(得分:0)
在控制器的顶部;
var self = this;
所以self总是引用你的构造函数,并且你可以在$ onInit()中使用
self.users = conversionArray