角度模型不更新 - Angular.js

时间:2014-01-10 20:26:35

标签: javascript angularjs

我有一个指令,其中模型没有像我认为的那样更新。这是我的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中的元素,我可以在范围上访问它。我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

...试

scope.disableCommentButton = function() {
  return _.isUndefined(this.encounter) || _.isEmpty(this.chatText);
}