所以,我有以下模板:
<div class="book-thumbs">
<div class="book-pic" ng-repeat="img in book.images">
<img ng-src="{{img}}" ng-click="vm.setImage(img)">
</div>
</div>
在控制器我試圖調用setImage(),但我得到一個錯誤:沒有定義$範圍。
class BookController {
constructor($scope, $stateParams, $http) {
this.name = 'book';
$scope.bookId = $stateParams.bookId;
this.getBookInfo($http, $stateParams, $scope);
}
getBookInfo($http, $stateParams, $scope) {
$http.get('books/' + $stateParams.bookId + '.json').success(function(data) {
$scope.book = data;
$scope.mainImageUrl = data.images[0];
});
}
setImage(imageUrl) {
$scope.mainImageUrl = imageUrl;
}
}
BookController.$inject = ['$scope', '$stateParams', '$http'];
export default BookController;
我該如何解決?如果我嘗試將$ scope添加爲setImage($ scope,img)中的參數,則不會有任何更改。謝謝
你錯過了這個$範圍= $範圍;在構造函數中和在setImage中這個。$ scope.mainImageUrl而不是$ scope.mainImageUrl –
你可以在這個。$ scope = $ scope中構造函數。 –
@Ondrej謝謝! – boooni