我有一个指令,其中模型没有像我认为的那样更新。这是我的HTML:
<div class="text-area-container">
<textarea ng-model="chatText" ng-keyup="updateCount(chatText)"></textarea>
</div>
<input ng-disabled="disableCommentButton()" value="Comment" ng-click="addMessage(chatText)"/>
正如您所看到的,我ng-model
附加了<textarea>
。我不知道这是否会影响任何东西,但我也有一个ng-keyup
附加到该元素,它接受模型并查看其中有多少个字符。最后一部分是我在一个由函数评估的输入上有一个ng-disable
。这是我的指令的link
函数:
link: function(scope) {
scope.chatText = '';
scope.countRemaining = 500;
scope.updateCount = function(chatText) {
scope.chatText = chatText;
scope.countRemaining = scope.maxChatCount - chatText.length;
};
scope.disableCommentButton = function() {
return _.isUndefined(scope.encounter) || _.isEmpty(scope.chatText);
};
}
问题是我的scope.chatText
始终未在disableCommentButton
方法中定义。我认为通过将模型附加到html
中的元素,我可以在范围上访问它。我在这里缺少什么?
答案 0 :(得分:1)
...试
scope.disableCommentButton = function() {
return _.isUndefined(this.encounter) || _.isEmpty(this.chatText);
}