我在 ng-repeater 中有一个指令,应该设置一个范围属性。请在此处查看小提琴:http: //jsfiddle.net/paos/CSbRB/
问题是 scope 属性是作为属性值给出的,如下所示:
<button ng-update1="inputdata.title">click me</button>
该指令应该将范围属性 inputdata.title 设置为某个字符串。这不起作用:
app.directive('ngUpdate1', function() {
return function(scope, element, attrs) {
element.bind('click', function() {
scope.$apply(function() {
scope[ attrs.ngUpdate1 ] = "Button 1";
});
});
};
});
但是,直接分配有效:
scope["inputdata"]["title"] = "Button 1";
你能告诉我如何使用 . 指令名称中的符号?
PS:小提琴使用中继器的原因是因为它使指令位于子范围内。当它们在子作用域中时,您不能写入作为原语的作用域属性。这就是为什么我需要一个带有“。”的对象属性。在名字里。请参阅此处的详细说明:AngularJS 中范围原型/原型继承的细微差别是什么?
谢谢