Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS自定义生成的指令动态属性绑定_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

Javascript AngularJS自定义生成的指令动态属性绑定

Javascript AngularJS自定义生成的指令动态属性绑定,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,在我的场景中,我有一个指令,它将有另一个指令标记作为范围参数。然后,第一个指令需要生成新指令并将其附加到指令中。它还需要将动态双向绑定属性添加到新生成的指令中 我可以生成新的directive标记,但当我尝试添加directive属性时,它会将其作为字符串(值或简单字符串)追加。 因此,当我试图在NEW指令中以范围变量的形式访问属性时,它会给我“未定义” HTML: <div ng-controller="MainCtrl"> === <directive1 tag="obj.

在我的场景中,我有一个指令,它将有另一个指令标记作为范围参数。然后,第一个指令需要生成新指令并将其附加到指令中。它还需要将动态双向绑定属性添加到新生成的指令中

我可以生成新的directive标记,但当我尝试添加directive属性时,它会将其作为字符串(值或简单字符串)追加。 因此,当我试图在NEW指令中以范围变量的形式访问属性时,它会给我“未定义”

HTML:

<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');