我有一个我已经创建的指令。有一个文本框,我试图更新框中的字符数。首先,这里是声明我的指令的html。
<div chat-container encounter="selectedEncounter" ng-model="count"></div>
这是我的指示。
angular.module('clinicalApp').directive('chatContainer', function() {
return {
scope: {
encounter: '=',
ngModel: '='
},
controller: 'EncounterCtrl',
templateUrl: 'views/chat.container.html',
link: function(scope, elem, attrs) {
var chatbox = elem.find('textarea');
chatbox.bind('keyup',function() {
scope.updateCount();
});
}
};
});
我的模板中有{{count}}
我想要更新。
在我的控制器中,我有一个函数,我在bind
中调用它来更新计数。这是我控制器中的功能。
$scope.updateCount = function() {
$scope.count = 350;
};
在我的控制器中点击此功能时,它不会更新我的指令中的计数。我如何使这项工作?
更好的是,如何让指令更新计数?我认为双向绑定可以解决这个问题,但事实并非如此。谢谢你的帮助。
答案 0 :(得分:0)
我的问题是我试图更新模板中的错误属性。如果你看上面我试图更新{{count}}
,我需要更新{{ngModel}}
。
答案 1 :(得分:0)
您需要通知angular更新了值:
$scope.updateCount = function() {
$scope.$apply( function() {
$scope.count = 350;
});
};