为什么我的ng模型没有更新?

时间:2013-10-17 18:24:29

标签: angularjs

我有一个我已经创建的指令。有一个文本框,我试图更新框中的字符数。首先,这里是声明我的指令的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;
  };

在我的控制器中点击此功能时,它不会更新我的指令中的计数。我如何使这项工作?

更好的是,如何让指令更新计数?我认为双向绑定可以解决这个问题,但事实并非如此。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

我的问题是我试图更新模板中的错误属性。如果你看上面我试图更新{{count}},我需要更新{{ngModel}}

答案 1 :(得分:0)

您需要通知angular更新了值:

$scope.updateCount = function() {
    $scope.$apply( function() {
       $scope.count = 350;
    });
};