相关疑难解决方法(0)

如何在子范围内的指令中设置角度控制器对象属性值

我在ng-repeater中有一个指令应该设置一个范围属性.请看这里的小提琴:http://jsfiddle.net/paos/CSbRB/

问题是scope属性是作为属性值给出的,如下所示:

<button ng-update1="inputdata.title">click me</button>
Run Code Online (Sandbox Code Playgroud)

该指令应该将scope属性inputdata.title设置为某个字符串.这不起作用:

app.directive('ngUpdate1', function() {
    return function(scope, element, attrs) {
        element.bind('click', function() {
            scope.$apply(function() {
                scope[ attrs.ngUpdate1 ] = "Button 1";
            });
        });
    };
});
Run Code Online (Sandbox Code Playgroud)

但是,直接分配工作:

scope["inputdata"]["title"] = "Button 1";
Run Code Online (Sandbox Code Playgroud)

你能告诉我如何设置范围属性吗?指令中的符号表示法?

PS:小提琴使用转发器的原因是因为它使指令在子范围内.当它们位于子作用域中时,您无法写入作为基元的作用域属性.这就是为什么我需要一个带有"."的对象属性.在名字里.请参阅此处的详细解释:AngularJS中范围原型/原型继承的细微差别是什么?

谢谢

javascript angularjs

16
推荐指数
1
解决办法
2万
查看次数

标签 统计

angularjs ×1

javascript ×1