Javascript AngularJS自定义生成的指令动态属性绑定
在我的场景中,我有一个指令,它将有另一个指令标记作为范围参数。然后,第一个指令需要生成新指令并将其附加到指令中。它还需要将动态双向绑定属性添加到新生成的指令中 我可以生成新的directive标记,但当我尝试添加directive属性时,它会将其作为字符串(值或简单字符串)追加。 因此,当我试图在NEW指令中以范围变量的形式访问属性时,它会给我“未定义” HTML:Javascript AngularJS自定义生成的指令动态属性绑定,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,在我的场景中,我有一个指令,它将有另一个指令标记作为范围参数。然后,第一个指令需要生成新指令并将其附加到指令中。它还需要将动态双向绑定属性添加到新生成的指令中 我可以生成新的directive标记,但当我尝试添加directive属性时,它会将其作为字符串(值或简单字符串)追加。 因此,当我试图在NEW指令中以范围变量的形式访问属性时,它会给我“未定义” HTML: <div ng-controller="MainCtrl"> === <directive1 tag="obj.
<div ng-controller="MainCtrl">
===
<directive1 tag="obj.tag" request-id="requestId"></directive1>
</div>
控制器:
app.controller('MainCtrl', function($scope) {
$scope.obj={};
$scope.obj.tag="<test></test>";
$scope.requestId="123";
});
app.controller('MainCtrl',函数($scope){
$scope.obj={};
$scope.obj.tag=“”;
$scope.requestId=“123”;
});
这是您的plunker使用的angular 1.0.2,它不支持
bindToController
,但是,更改为1.3将使其与您的问题中描述的字符串绑定一样工作
要将requestId用作双向绑定,需要将字符串requestId
传递到attr
el.attr('request-id', 'requestId');
el.attr('request-id', 'requestId');