0
我想通過鏈接函數的id訪問指令模板中的元素。 但是,元素ID是數據綁定的,並且在鏈接函數運行時似乎不可用。getElementByID從數據綁定的鏈接函數編號
我已經證明了這Plunker問題:http://plnkr.co/edit/vmgT3CaUbkaPNn6gDHJh
link: function (scope) {
var textbox = angular.element(document.getElementById(scope.id));
textbox.bind('blur', function() {
scope.$apply(function() {
scope.value = textbox.val();
});
});
如果我硬編碼這個工程確定的元素的ID - 但作爲證明這個叉:http://plnkr.co/edit/5qML3rGBwiCC7fc8eKVf因爲我通過附加一個事件監聽器ID,如果我重新使用硬編碼的ID,我沒有得到我需要的指令實例的隔離。
link: function (scope) {
var textbox = angular.element(document.getElementById('id'));
textbox.bind('blur', function() {
scope.$apply(function() {
scope.value = textbox.val();
});
});
}
是否有一個函數以外的鏈接,我可以在數據綁定ID將可用時運行此代碼?或者我只是試圖完全以錯誤的方式做到這一點?
你似乎是綁定到文本框本身,所以你可以使用'ng-blur'。 'ng-model'也可以工作,但是當按下按鍵而不僅僅是模糊時,這將會改變。 – 2015-04-03 22:38:05