Шаблоны HTML можно использовать несколько раз с предоставленными данными в качестве объекта в KnockoutJS, у меня возникают трудности с поиском той же функции с AngularJS. Взгляните на приведенный ниже URL-адрес документации KO.
http://knockoutjs.com/documentation/template-binding.html
<div data-bind="template: { name: 'person-template', data: buyer }"></div>
<div data-bind="template: { name: 'person-template', data: seller }"></div>
<script type="text/html" id="person-template">
<h3 data-bind="text: name"></h3>
<p>Credits: <span data-bind="text: credits"></span></p>
</script>
<script type="text/javascript">
function MyViewModel() {
this.buyer = { name: 'Franklin', credits: 250 };
this.seller = { name: 'Mario', credits: 5800 };
}
ko.applyBindings(new MyViewModel());
</script>
Вы можете наблюдать, как «покупатель» и «продавец» передаются как объект в шаблон и соответственно отображаются с помощью Knockout JS.
Я хочу аналогичную реализацию с AngularJS. Взгляните на приведенный ниже пример.
<script type="text/ng-template" id="someId">{{name}}</script>
<ng-include src="'someId'" onload="name='FirstValue'" ></ng-include>
<ng-include src="'someId'" onload="name='SecondValue'" ></ng-include>
Я пробовал что-то вроде выше, но, наконец, оба ng-include будут генерировать текст «test1». Мне нужен другой результат как для ng-include, так и для первого «FirstValue» и для второго «SecondValue».
Посмотрите здесь: http://plnkr.co/edit/DQgPZ9GKKLnwSvOggY3M?p=preview а>
Как я могу передать объект данных в такой HTML-шаблон и отобразить его соответствующим образом?