gpt4 book ai didi

angularjs - 使用 Controller 作用域数据调用指令

转载 作者:行者123 更新时间:2023-12-04 18:24:12 24 4
gpt4 key购买 nike

我的 Controller 范围有这样的数据,

    $scope.feeds = [{
directive: 'photo-added',
user: {
...
},
images: [
{id: 150, image: "image.png"},
{id: 151, image: "image.png"},
{id: 152, image: "image.png"}
]
},
{
directive: 'new-question',
question_id : 5,
title : "Call directive using controller scope data"
}];

所有数组对象都具有“指令”属性。我想为每个对象调用正确的指令。像这样;

    <div ng-repeat="feed in feeds">
<{{feed.directive}} info="feed"></{{feed.directive}}>
</div>

这当然行不通。我怎样才能调用正确的指令?

最佳答案

如果您想拥有动态指令名称,则必须手动编译 HTML。您可以为此再创建一个辅助指令:

.directive('directive', function($compile) {
return {
scope: {info: '='},
link: function(scope, element) {
var attrs = {info: 'info'};
attrs[scope.info.directive] = '';
element.attr(attrs).removeAttr('directive');
$compile(element)(scope);
}
};
});

并像这样使用它:

<div ng-repeat="feed in feeds">
<div directive info="feed"></div>
</div>

演示: http://plnkr.co/edit/AjpfM1MqVvFFmykAqa9L?p=preview

关于angularjs - 使用 Controller 作用域数据调用指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34291961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com