我是新來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. 可以避免`eval()`嗎? (在運行時分配變量名稱)
- 7. 從指令控制器訪問範圍
- 8. AngularJS:從子指令訪問父範圍
- 9. 從指令範圍訪問Angular Factory
- 10. TCL變量範圍:訪問命令
- 11. 從調用範圍訪問javascript變量
- 12. angularjs:從指令設置範圍變量
- 13. 如何訪問範圍變量控制器的指令
- 14. 如何訪問多個指令的範圍變量?
- 15. 變量範圍+ EVAL Clojure中
- 16. 從指令中的事件範圍內訪問$範圍
- 17. AngularJs避免範圍問題
- 18. AngularJS - 從transclude範圍訪問指令範圍
- 19. JS範圍:訪問變量
- 20. 將範圍名稱更新爲指令
- 21. eval如何在with語句下無權訪問範圍變量?
- 22. 從其範圍外訪問變量?
- 23. 避免重寫變量名稱
- 24. VBA Excel - 在將數據從一個範圍名稱複製/粘貼到另一個範圍名稱時,避免不要使用範圍名稱
- 25. Excel範圍循環變量的名稱
- 26. 訪問變量的名稱
- 27. 如何訪問指令父範圍
- 28. 在Transcluded指令中訪問父範圍
- 29. Julia的宏變量範圍和eval
- 30. 使用變量訪問按鈕名稱
隨着手錶我可以看變量的一些變化,然後做一些行動,但我不想知道什麼時候'event.times'改變了,我想自己改變它。 – Gacha 2013-05-09 13:18:36