在這個例子中,我有一個帶有附加指令的輸入。該指令旨在顯示輸入旁邊的消息。還有另外一個輸入和一個按鈕來添加消息。 一旦顯示了一些消息,關注帶有附加指令的輸入應清除消息。 http://jsfiddle.net/viro/WBqxf/
所以我有一個指令與孤立的模型,我試圖更新模型時,具有該指令的元素進入焦點。 好像我必須包裝範圍事件回調$適用,如果我要更新模型:
element.on('focus',function(){
scope.$apply(function(){
console.log("focus !");
scope.tstMsg=[];
})
});
我想我必須把它包在$適用,因爲我使用的是jqlite事件回調和我猜測他們運行「外部」angularJS,但我沒有發現它在文檔中明確指出。
我是對的還是黑客?
有沒有更好的方法來做到這一點?
使用'ng-focus'並保存自己爲extrenal事件處理程序編寫的額外代碼http://docs.angularjs.org/api/ng.directive:ngFocus – charlietfl
但是對於每個有指令的元素,我都需要相同的行爲無論在哪個控制器中,該元素都是焦點。有了ngFocus,我會讓每個元素都有一個函數來重置消息數組,如果它可以通過指令自動執行,那是很乏味的,不是嗎? –