分配值我有一個服務:角服務不空對象
storeApp.service('currentCustomer',function($http) {
this.customerID = 0;
this.customerInfo = {}
this.customerAttributes = {}
this.getCustomerInfo = function() {
if (this.customerID != 0) {
$http.get('/customers/' + this.customerID).
then(function (result) {
this.customerInfo = result.data[0]
})
}
}
和控制器:
storeApp.controller('storeList',function($scope,$http,currentCustomer) {
$scope.changeCust = function changeCust(id) {
currentCustomer.customerID = id;
currentCustomer.getCustomerInfo()
console.log("After Change customer:")
console.log(currentCustomer)
}
$scope.selectedStore = currentCustomer
});
如果我嘗試訪問selectedStore.customerID,我得到的值。
如果我嘗試訪問selectedStore.customerInfo,我得到一個空數組,即使當我把控制檯登錄到檢查值時,它說它們被分配。
任何想法我做錯了什麼?感謝大家。
謝謝。那麼'this'指的是方法本身呢?我很感激幫助。 – user3166537
是的,確切地說。我認爲這篇文章在解釋JavaScript中的上下文方面做得很好:http://ryanmorr.com/understanding-scope-and-context-in-javascript/ – mrtig