У меня есть куча угловых директив, которые все выглядят одинаково, как (более сложный вариант)Определения многих угловых директив с петлями
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() { ... });
}
безрезультатно. Есть ли хороший способ сделать это?
Почему странное состояние в цикле? почему бы просто не использовать длину массива, и я, как обычно? Я видел это для нескольких компонентов (используя что-то подобное на самом деле для общих «значков социальных медиа», где он автоматически вытаскивает значок справа и делает ссылку, это не совсем то же самое, поскольку я использую атрибуты но позвольте мне посмотреть, поможет ли это здесь ... Я также видел эту технику для оберток плагина facebook в angularjs. – shaunhusain
@shaunhusain Когда i == dirs.length, dir = undefined, и цикл останавливается. используя угловую форму в любом случае, я предпочитаю угловой.forEach –
@jtseng да, я понимаю, что он все равно будет работать, как правило, видны, когда петли выполняются с таким условием, и кажется излишне запутанным использовать это, когда цикл цикла, проверяющий условие длины, и работает отлично. – shaunhusain