【问题标题】:Passing variables into Ember.js boundHelper将变量传递给 Ember.js boundHelper
【发布时间】:2014-06-04 10:49:31
【问题描述】:

我尝试构建一个 Handlebars 视图助手,它应该突出显示绑定字段中的 searchText。

但我无法同时检索绑定字段和 searchText。当我只使用 1 个参数时,它按预期工作。

我的助手签名是

Ember.Handlebars.registerBoundHelper('marker', function(searchText,name,options) {

我的视图包含这样的东西

 {{view Ember.TextField valueBinding="searchText" }} 
....

{{#each model}}
    {{marker ./../searchText name }}
{{/each}}

如何将这两个值传递给我的辅助函数?更有趣的是如何检索辅助函数中的值?

【问题讨论】:

    标签: ember.js handlebars.js


    【解决方案1】:

    ./../ 更改助手的范围,而不是助手中特定的绑定属性。一个更好的方式来看待它是这样的

    {{marker    ./../           searchText     name }}
         ^        ^                 ^            ^
      helper    helper path     property1      property2
    

    您可以尝试使用或不使用 ./../ 的示例,看看它如何从不同的范围内获取这两个属性。

    http://emberjs.jsbin.com/yuxijeko/1/edit

    最好的办法是将别名 searchText 添加到与名称相同的范围内,并避免更改路径。

    http://emberjs.jsbin.com/yuxijeko/2/edit

    【讨论】:

    • 谢谢!我知道这是一个范围的事情 - 但无法想象路径 './../' 改变了整个范围。更改了我的代码以引入具有别名的项目控制器,现在它可以工作了!完美!
    猜你喜欢
    • 2017-05-12
    • 2014-06-24
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 2012-02-13
    • 2014-09-05
    • 2011-10-13
    • 2013-12-07
    相关资源
    最近更新 更多