ケース I. テンプレートをビューのインスタンスにバインドします。
たとえば、次のテンプレートがあるとします。
<script type="text/x-handlebars" data-template-name="instance-template">
<b> Name: </b> {{ name }}
</script>
その後、ビューのインスタンスをそれにバインドし、ドキュメントに追加できます (簡単にするために、一部のコントロール レイヤーにバインドするのではなく、ビューでパラメーター名を宣言します)。
App.instanceView = Ember.View.create({
templateName: 'instance-template',
name: 'hello world'
}).append();
ここで舞台裏で何が起こっているのですか?テンプレート名を指定することで、ビューのこのインスタンスは何らかの形でテンプレートを取得し、バックグラウンドで渡されたパラメーターでコンパイルしていますか?
ケース II。テンプレートをクラス ビューにバインドしていますが、テンプレートに名前がありません。
ただし、次のようなクラス ビューにテンプレートをバインドしたい場合:
App.ViewClass = Ember.View.extend({
name: 'hello world',
});
ドキュメントでは、次の形式のテンプレートを使用しています。
<script type="text/x-handlebars">
{{ #view App.ClassView }}
This part renders: {{ name }}
{{ /view }}
</script>
これを行うと、何らかの理由でこれが機能しないことに注意してください。テンプレートの「This part renders:」という引用は実際にレンダリングされますが、{{ name }} タグはレンダリングされません。理由がわかりません。
ケース III。テンプレートがクラス ビューにバインドされ、テンプレートに名前が付けられます。
さらに、上記のテンプレートに名前を付けると、次のようになります。
<script type="text/x-handlebars" data-template-name = 'class-template'>
{{ #view App.ClassView }}
This part renders: {{ name }}
{{ /view }}
</script>
ビューを次のように変更します
App.ViewClass = Ember.View.extend({
templateName: 'class-template',
name: 'hello world',
});
何もレンダリングされません。繰り返しますが、ここで何が起こっているのかわかりません。