我是新来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