Я не уверен, что этот вопрос задавался, но является ли хорошей практикой (недопустимой) возиться с моделью данных из директивы AngularJS?
Например, если в моем контроллере у меня есть какой-то объект, например:
app.controller("MyCtrl", function () {
$scope.obj.setOfKnives = ["Ginsu", "Steak"];
});
И у меня была какая-то кнопка с директивой вроде (написано для краткости):
<button add-knife>Add a Knife</button/>
В этой директиве add-knife является хорошей практикой (опять же, недопустимой) возиться с этим массивом setOfKnives, например:
app.directive("addKnife", function () {
return {
"restrict": "A",
"link": function (scope, element, attr) {
scope.addAKnife = function (theKnife) {
scope.obj.setOfKnives.push(theKnife);
};
element.on("click", function () {
scope.addAKnife("Serrated");
});
}
};
});
(Я считаю, что было бы лучше сделать эту директиву директивой элемента с шаблоном...)
Так это хорошая практика? Или я должен использовать директиву для добавления объектов DOM на страницу, а некоторая функция контроллера позаботится о добавлении и удалении элементов из массива setOfKnives на основе DOM?