/ / AngularJS директива двостороннє зв'язування для налаштовуваної кількості змінних - javascript, angularjs, angularjs-directive, angularjs-scope

AngularJS директива двостороння прив'язка для налаштовуваної кількості змінних - javascript, angularjs, angularjs-directive, angularjs-scope

При створенні директиви під час визначення ізоляції області застосування двостороннього зв'язування використовується = чи існує спосіб, що я можу пов'язувати масив змінних сфер. тобто якщо в моєму контролері є об'єкти, визначені як $scope.one, $scope.two і т. д. і може бути будь-яка кількість цих - я хочу, щоб директива мала можливість працювати з налаштовуваною їх кількістю. Як я можу це зробити?

Я не можу цього зробити, оскільки інший контролер, який використовує цю директиву, може мати десять, тому я хочу, щоб він був гнучким:

.directive("example", function () {
return {
scope: {
one: "=",
two: "=",
three: "="
},
...

Відповіді:

1 для відповіді № 1

Звичайно, це:

.directive("example", function() {
return {
scope: {
config: "="
},
link: function(scope) {
var firstOption = scope.config[0];
var secondOption = scope.config[1];
//...
}
}
}

Параметри масиву повинні зберігатись у фіксованому індексі, щоб він був менш читабельним, ніж проходження конфігурації об'єкт

.directive("example", function() {
return {
scope: {
config: "="
},
link: function(scope) {
var firstOption = scope.config.firstOption;
var secondOption = scope.config.secondOption;
//...
}
}
}