Я не уверен, что этот вопрос был задан, но это хорошая практика (не в порядке), чтобы испортить модель данных из директивы AngularJS?Директивы AngularJS и модель
Например, если в мой контроллер у меня есть какой-то объект, как:
app.controller("MyCtrl", function() {
$scope.obj.setOfKnives = ["Ginsu", "Steak"];
});
И у меня были некоторые кнопки с директивой о нем, как (написано для краткости):
<button add-knife>Add a Knife</button/>
В что директива добавить нож, это хорошая практика (опять же, не в порядке, к делу), чтобы возиться с этим массивом 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?
Я бы добавил/удалил элементы в контроллере. – kubuntu