Я читал через некоторые документы и книги о Угловом, но я на самом деле не найти угловой путь следующей задачи:Как «привязать» HTML-представление к контроллеру
Если у меня есть контроллер (допустим, CardController
) и еще один контроллер, который обрабатывает создание нескольких экземпляров CardController
. Как мне реализовать HTML-материал? Я хочу иметь возможность создать экземпляр Card
, который имеет определенный HTML-код (например, тот, который приведен ниже) и подключен к CardController
.
Я не думаю, что я должен загрязнять CardController
, чтобы настроить HTML-материал с уродливым .append
-материалом. Или это так? Должен ли я написать дополнительную услугу для представления HTML, например CardView
, или создать дополнительную директиву?
Если вы посмотрите на этот пример, я хочу, чтобы иметь возможность нажать на кнопку «Добавить еще одну карту» и увидеть еще один экземпляр карты добавлен ниже (так в основном возможность иметь несколько элементов):
<!DOCTYPE html>
<html ng-app="theApp">
<head>
<script data-require="[email protected]" data-semver="1.4.6" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-controller="MainController">
<button ng-click="add()">Add another card</button>
</div>
<div id="content">
<div ng-controller="CardController">
<h1>{{ title }}</h1>
<p>{{ message }}</p>
</div>
</div>
<script>
(function() {
var app = angular.module("theApp", []);
app.controller('MainController', function($scope) {
$scope.add = function() {
// Setup HTML for TheController:
// add another DIV/H1/P-etc. to #content,
// just like the one at the beginning.
console.log("Add another card");
};
});
app.controller('CardController', function($scope) {
$scope.title = "A Title";
$scope.message = "Some message";
});
}());
</script>
</body>
</html>
Вы проверили директивы? Вы можете указать тег со свойствами, которые вы хотите. –