2013-10-17 45 views
0

我有一個我已經創建的指令。有一個文本框,我試圖更新框中的字符數。首先這裏是聲明我的指令的html。爲什麼我的ng模型不能更新?

<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

我的問題是,我試圖更新模板中的錯誤屬性。如果你看上面,我試圖更新{{count}},我需要更新{{ngModel}}

+0

我敢打賭,你寧願走另一條路,使用次數在範圍定義。而不是注入'ngModel',它很容易與'ngModel'角度指令混淆。 – KayakDave

+0

這正是我當我意識到這只是另一個變量名而做的。 – jhamm

0

您需要通知的角度,你更新的值:

$scope.updateCount = function() { 
    $scope.$apply(function() { 
     $scope.count = 350; 
    }); 
}; 
相關問題