SBi*_*ell 1 javascript handlebars.js ember.js
我希望有人可以解释我在这里做错了什么.我正在使用带有把手模板的Ember.js,我已经尝试了很多方法来获取把手#if else为我工作,但它总是返回if和else的内容..这是我正在使用的代码.
App.js:
App = Ember.Application.create({
selectedView: "Home",
IsHome: function() {
this.get('selectedView') === 'Home'
}.property('selectedView')
});
Run Code Online (Sandbox Code Playgroud)
index.html头包含:
<script type="text/x-handlebars" data-template-name="home-view">
Hello, This is the home view.
</script>
<script type="text/x-handlebars" data-template-name="edit-account">
Hello, This is the account edit view.
</script>
Run Code Online (Sandbox Code Playgroud)
在身体里:
<script type="text/x-handlebars">
{{#if App.IsHome}}
{{view HomeView}}
{{else}}
{{view editAccountView}}
{{/if}}
</script>
Run Code Online (Sandbox Code Playgroud)
这最终会在页面正文中显示两个视图.任何建议表示赞赏,
谢谢Steve
您的问题的根本原因是Handlebars视图助手({{view MyView}})期望Ember"类"的路径参数,而不是类的实例.要创建视图类,请使用extend方法Ember.View.Handlebars视图助手将实例化您的视图类并将其附加到文档中.
有关Ember对象模型以及Ember extend和create方法之间差异的更多信息,请参阅此文章:http: //ember-object-model.notlong.com.
以下是您的示例,其中进行了一些更改以纠正我上面提到的观点.http://jsfiddle.net/ethan_selzer/kcjzw/217/
问候,
阮经天