2013-06-01 56 views
1

我與AngularJS玩弄(並試圖讓我的頭輪它),並有一個控制器,這對於這個問題的目的,可以簡化爲:AngularJS:在視圖更新運行功能

$scope.addMessage = function() { 
     $scope.messages.push({author: 'nick', 
     text: $scope.messageText, active: true}); 
}; 

每當模型因這個'$ scope.addMessage'而改變時,我想運行emojify.run(); ...如果我簡單地將它放在$scope.messages.push...之後,它會在數據顯示在視圖中之前運行,因此不起作用。視圖更新後如何調用功能emojify.run();

+2

我懷疑是否有更好的方法來執行您正在嘗試的操作。據我所知AngularJS [不支持這種類型的模式](https://github.com/angular/angular.js/issues/1306)。數據更新後,您是否嘗試更改DOM中的某些內容?如果是這樣,請查看[指令](http://docs.angularjs.org/guide/directive)。讓您的控制器直接操縱DOM似乎違反了AngularJS意圖使用的MVC原則。 – ChrisP

回答