HTML テンプレートは、提供されたデータを KnockoutJS のオブジェクトとして複数回使用できます。AngularJS で同じ機能を見つけるのは困難です。以下の KO ドキュメントの URL を参照してください。
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>
「buyer」と「seller」がオブジェクトとしてテンプレートに渡され、それに応じて 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」テキストを生成します。最初の「FirstValue」と2番目の「SecondValue」のng-includeの両方で異なる結果が必要です
こちらをご覧ください: http://plnkr.co/edit/DQgPZ9GKKLnwSvOggY3M?p=preview
データオブジェクトをそのようなhtmlテンプレートに渡し、それに応じてレンダリングするにはどうすればよいですか?.