我是新來angularJs和currently working example(fiddle)感覺不對。當您嘗試模糊字段時,它應該增加event.times
,目前我在第10行上執行$apply
,所以我在問是否有更好的方法來實現此目的?也許像這樣var times = scope.$get(attrs.timesField);
然後scope.$apply(function(){ times += 1; });
訪問範圍變量從指令的名稱,避免使用eval
0
A
回答
3
每當指令不使用分離的範圍和您使用屬性來指定範圍屬性,你想改變屬性的值,使用$parse:
<input custom-field times-field="event.times" ng-model="event.title" type="text">
link: function (scope, element, attrs){
var model = $parse(attrs.timesField);
element.bind('blur', function(){
model.assign(scope, model(scope) + 1);
scope.$apply();
});
}
0
你說得對,那不是正確的做法。 找出$watch()功能,特別是在directives中使用時。
0
沒有必要在這裏的eval使用,你可以這樣做:
scope.$apply(function(){
scope.event.times++;
});
但是你必須確保在域中存在一個事件對象使用此指令之前,我不認爲它是對於依賴其他地方設置的數據的指令是有好處的。
你究竟在努力實現什麼?
+0
如果我這樣做,那麼沒有必要通過'times-field'作爲屬性,我想要動態屬性。 – Gacha 2013-05-09 15:22:34
+0
是的你是對的,由於某種原因,它沒有點擊你實際上傳遞的字段名稱。這絕對是做到這一點的正確方法,而@marks實現就是你想要的。 – 2013-05-09 15:29:16
相關問題
- 1. Angularjs。訪問變量指令範圍
- 2. 從另一個指令訪問指令範圍變量
- 3. 如何避免訪問範圍。NG重複內部指令
- 4. 訪問範圍變量從控制器的指令在angular.js
- 5. 訪問$範圍從孤立的指令
- 6. 從指令範圍訪問Angular Factory
- 7. TCL變量範圍:訪問命令
- 8. angularjs:從指令設置範圍變量
- 9. 從調用範圍訪問javascript變量
- 10. 變量範圍+ EVAL Clojure中
- 11. 從指令中的事件範圍內訪問$範圍
- 12. AngularJs避免範圍問題
- 13. eval如何在with語句下無權訪問範圍變量?
- 14. 從其範圍外訪問變量?
- 15. VBA Excel - 在將數據從一個範圍名稱複製/粘貼到另一個範圍名稱時,避免不要使用範圍名稱
- 16. 訪問變量的名稱
- 17. Julia的宏變量範圍和eval
- 18. 使用在子範圍中使用的變量名稱
- 19. 指令不更新範圍變量
- 20. 角運動範圍變量指令
- 21. 指令沒有加載範圍變量
- 22. 使用變量訪問按鈕名稱
- 23. 要在Python中避免使用的變量名稱
- 24. AngularJs - 用同名的ng-repeat訪問範圍變量
- 25. 對象範圍內的變量訪問
- 26. PHP:超出範圍的變量訪問
- 27. 在父範圍內的訪問變量
- 28. 如何在訪問對象屬性時避免使用eval?
- 29. Tell指令根據範圍變量使用不同的模板
- 30. 如何訪問鏈接中的角度指令隔離範圍變量?
隨着手錶我可以看變量的一些變化,然後做一些行動,但我不想知道什麼時候'event.times'改變了,我想自己改變它。 – Gacha 2013-05-09 13:18:36