В AngularJS есть два стиля написания контроллеров: "контроллер как синтаксис" и "привязка к $scope" стиля контроллера "(оба цитаты из Документация ngController.) Есть несколько вопросов по StackOverflow, которые сравнивают эти стили, например this vs $scope в контроллерах AngularJS и Различия в производительности между функциями контроллера, определенными на $scope
или this
- AngularJS.
У меня есть метод на контроллере, который должен вызывать AngularJS после обновления модели. Используя стиль $scope контроллера, я могу это сделать:
myApp.controller('MainController', ['$scope', function($scope) {
$scope.content = "[Waiting for File]";
$scope.showFileContent = function(fileContent) {
$scope.content = fileContent;
$scope.$apply();
};
}]);
Но если я напишу контроллер, используя 'this'
myApp.controller('MainController', function () {
this.content = "[Waiting for File]";
this.showFileContent = function(fileContent){
this.content = fileContent;
};
});
как мне вызывать $apply()?