0
我有一個指令,顯示單擊行時的詳細信息屏幕。我正在嘗試更新相遇。這裏是指令:我的控制器沒有更新我的指令 - 角
angular.module('app').directive('chatContainer', function() {
return {
scope: {
encounter: '=',
count: '='
},
templateUrl: 'views/chat.container.html',
link: function(scope, elem) {
};
});
這裏是模板的指令:
<div class="span4 chat-container">
<h5 class="chat-header">
<span class="container">{{encounter.patient.firstName }} {{encounter.patient.lastName}}</span>
</h5>
</div>
這裏就是指令宣佈在html:
<div chat-container encounter="selectedEncounter" count="count"></div>
,這裏是控制器該行在被點擊時調用。
angular.module('app').controller('EncounterCtrl', function ($scope, singleEncounter) {
$scope.count = 500;
$scope.selectedIndex = -1;
$scope.selectedEncounter = -1;
$scope.getSelectedRow = function($index) {
$scope.selectedIndex = $index;
$scope.selectedEncounter = $scope.encounters[$scope.selectedIndex];
};
$scope.encounter = singleEncounter.selectedEncounter;
});
我進入功能getSelectedRow()
,它改變了selectedEncounter
到正確的遭遇。綁定不會將選擇帶到我的chatContainer
。我想當我在指令範圍中聲明encounter
,並將其作爲範圍類型=
時,它將其綁定,但我錯過了一些東西?
同意,它應該在指令中,但$如何工作? – jhamm
看一看:http://docs.angularjs.org/api/ng.$rootScope.Scope#methods_$apply – gustavohenke
什麼是調用函數'getSelectedRow()'?你沒有包含所有的代碼,所以我猜測有一些超出了角度框架的東西,所以'$ digest'循環沒有運行。 這篇文章解釋得非常好http://angular-tips.com/blog/2013/08/watch-how-the-apply-runs-a-digest/ – Hoolagon