在EmberJS v1.9.0的最新版本发布之后,我正试图从扶手转移到HTMLbars。我发现很有挑战性的是缺乏文件。
我正在尝试实施非常简单的帮手。
例如,以这个车把帮助者为例:
HTML
<div id="main"></div>
<script type="text/x-handlebars" data-template-name="index">
{{logIt test}}
<h1>{{test}}</h1>
</script>JS
App = Ember.Application.create({
rootElement: '#main'
});
App.IndexRoute = Ember.Route.extend({
setupController: function(controller){
controller.set('test', 'mytest');
}
});
Ember.Handlebars.registerHelper("logIt", function(something) {
console.log(something);
});Js Fiddle:http://jsfiddle.net/sisir/p463q2L8/
如何将其转换为htmlbar?
发布于 2015-07-20 21:45:28
在Ember1.13中,有两个API:新成员-js-helper-api
现在,最简单和更常见的语法是:
export default Ember.Helper.helper(function(params, hash) {
return params.join(' ');
});helper会收到两个参数: params是传递给助手的有序params,散列包含键值选项,例如title="Mr.“。
发布于 2015-02-21 21:31:22
我相信您可以只使用Ember.Handlebars.helper,这是最新的符伯吉指南。这个吉斯宾使用htmlbar,它可以工作。这是jsbin中的助手。
AppLogItHelper = Ember.Handlebars.helper("logIt", function(something){
console.log(something);
});如果您使用的是Ember.Handlebars.makeBoundHelper,它将自动为您生成一个,但它使用的是,它不工作在jsbin,但工作在我的余烬-cli应用程序。
发布于 2015-07-30 21:14:55
非常重要的新奇之处是HTMLBars有子表达式!由于Ember 1.10+被转换为HTMLBars,所以您应该使用Ember.HTMLBars.makeBoundHelper而不是Ember.Handlebars.registerHelper。但是您仍然可以使用Ember1.10.1版本的Ember.Handlebars.registerHelper
新办法:
App.XEqHelper = Ember.HTMLBars.makeBoundHelper(function(params, hash, options, env) {
return params[0] === params[1];
});它从模板调用如下:
{{#if (x-eq order 'delivery_order')}}
Need a delivery
{{/if}}https://stackoverflow.com/questions/28624800
复制相似问题