gpt4 book ai didi

javascript - 使用循环定义许多 Angular 指令

转载 作者:行者123 更新时间:2023-12-02 18:34:10 25 4
gpt4 key购买 nike

我有一堆看起来都一样的 Angular 指令,比如(更复杂的版本)

app.directive('note', function () {
return {
restrict: 'E',
transclude: true,
template: '<div class="' + 'note' + '"></div>
}
});

note被许多其他东西所取代。我想将它们全部定义在一个循环中以保持干燥。我试过了

var dirs = ['note', 'introduction', 'thing'];

for (var dir, i = 0; dir = dirs[i]; i++) {
app.directive(dir, function () { ... });
}

无济于事。有什么好的办法吗?

最佳答案

我认为你不应该这样做。相反,您应该将值传递到指令中。但是,如果您确实觉得需要这样做,它确实可以正常工作:fiddle .

HTML:

    <div ng-app="myApp">

<div ng-controller="MyCtrl">
Hello, {{name}}!
</div>
<introduction> </introduction>
<note></note>
<thing></thing>
<notAThing></notAThing>
</div>

JS:

    var myApp = angular.module('myApp',[]);

var dirs = ['note', 'introduction', 'thing'];

angular.forEach(dirs, function(dir) {
myApp.directive(dir, function() {
return {
restrict: 'E',
transclude: true,
template: '<div class="' + dir + '">something</div>'
}
});
});

关于javascript - 使用循环定义许多 Angular 指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17497720/

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