用ember和ember-cli编辑Handlebars模板
嘿,所以我的问题可能很简单,因为我是全新的烬和烬,从我理解你只需编辑一个应用程序HBS模板包含的HTML,IE浏览器。 应用程序/模板/ settings.hbs
然而,我的问题是,当我编辑这些文件之一,重新启动整个堆栈,没有变化反映 – 此外,我基本上只是试图创build一个已经创build的堆栈,通过inputif条件来find控制器名称并显示内容,如果它匹配什么即时通讯寻找,
例如
{{#if controller.name == "settings"}} // diff lis {else} // normal lis {#endif}
最重要的是在这里,我对HBS模板所做的任何改变似乎都没有被反映出来,为什么?
除了@Oren的回答,如果你使用的是烬1.10,你可以利用句柄子expression式,并编写自己的eq
助手,可以在更多的情况下使用。 例如:
Ember.Handlebars.registerBoundHelper('eq', function(left, right) { return left === right; });
然后在你的模板中
{{#if (eq name "settings") }} // diff lis {{else}} // normal lis {{/if}} // ... {{#if (eq something otherstuff) }} // show this {{else}} // show that {{/if}}
把手没有在你张贴的forms的平等帮手。 (请参阅此列表以获取所有内置助手的列表。)
相反,你需要做什么来使你的代码工作是在你的控制器上创build一个属性:
IsNameSettings: function(){ return this.get('model.name') === 'settings'; }.property('model.name');
并且改变你的模板使用这个属性(注意,你也有{{/endif}}
需要改变为{{/if}}
[见上面的链接]):
{{#if controller.IsNameSettings}} // diff lis {else} // normal lis {/if}
查看是否在将句柄模板更改为有效的语法之后,我正在等待实时重新加载时描述页面实时更新的结果。 确认保存这些更改后,您会看到来自ember-cli
输出,表示已成功构build。 沿着以下线路检查terminal的输出:
version: 0.1.12 Livereload server on port 35729 Serving on http://0.0.0.0:4200/ Build successful - 8891ms.