角度模型没有更新 - Angular.js
问题描述:
我有一个指令,模型没有像我想的那样更新。这里是我的html:角度模型没有更新 - Angular.js
<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)"/>
正如你可以看到我有连接到<textarea>
一个ng-model
。我不知道这是否会影响任何内容,但我还附加了一个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
中的元素上,我可以在范围上访问它。我在这里错过了什么?
答
尝试...
scope.disableCommentButton = function() {
return _.isUndefined(this.encounter) || _.isEmpty(this.chatText);
}
为什么工作? 'scope.encounter'正在工作,但'scope.chatText'不起作用。我不知道在文件前面定义的'scope.chatText'是否与它有任何关系。 – jhamm
其范围在您的函数声明时是一个全局变量,它指的是过时的范围。在函数内引用这个指的是新的作用域对象。 – Jason
因此,范围更改?范围何时会过期? – jhamm