2015-05-11 1 views
4

С мы не можем внедрить $scope внутри контроллеров в угловых 1.4+, как мы можем наблюдать выражения, как мы привыкли делать с $scope.$watch?Как мы можем наблюдать выражения внутри контроллера в угловом 1.4, используя угловой-новый-маршрутизатор

Попытка придать $scope можно увидеть here («Не удалось создать экземпляр контроллера» ошибки), и учебные пособия говорит нам, что:

Угловая обыкновение иметь возможность создать экземпляр контроллера, если мы передаем $ объем в Это. Он определяет его наблюдаемые свойства. (source)

+0

возможно дубликат [Angularjs: 'контроллер как синтаксис' и $ часы] (http://stackoverflow.com/questions/24078535/angularjs-controller-as-syntax-and-watch) – charlietfl

+2

Вы все еще можете введите '$ scope'. – zeroflagL

+2

Я не понимаю вопроса. Вы, безусловно, можете ввести $ scope. –

ответ

2

Я столкнулся с этим и нужен был пакет НПМ; нехорошо, чтобы все в команде строились из источника на данный момент. Мы выпустили промежуточный пакет на НОМ, который исправляет эту проблему: npm install [email protected]

Примечания: вам могут понадобиться переименования нг-видовых нг-выхода, чтобы получить промежуточный пакет работу.

+0

Существует также проблема с $ componentLoaderProvider, как я могу ее решить? Неизвестный поставщик: $ componentLoaderProvider –

2

Я только что узнал, что есть bug на ngNewRouter вызывает эту проблему. Это has been fixed, но еще не выпущены.

Чтобы обойти это, попробуйте следующее:

$ git clone [email protected]:angular/router.git 
$ cd router 
$ npm install 
$ gulp angularify 

после этого скопируйте DIST файлов в проекте

+0

Если вы получаете 'Permission denied (publickey). fatal: Не удалось прочитать из удаленного репозитория. 'run' git clone https: // github.com/angular/router' вместо –

+0

'gulp angularify' выходы' Нет gulpfile found'! – raghavsood33

2

у вас есть $ watch в .activate. Проверьте ниже (скопировать пасту из моего приложения).

function accountHistoryController (authService, accountFactory, CONSTANTS, $q, $routeParams) { 

} 
accountHistoryController.prototype.canActivate = function() { 
    return !!this.authService.isAuthenticated(); 
} 
accountHistoryController.prototype.activate = function($scope) { 
    console.log ($scope); 
    $scope.$watch('_this.currentPage', function(newPage){ 
    if (newPage == undefined) return; 

}); 

} 
Смежные вопросы