【问题标题】:How to join a static string and a dynamic property to pass to a helper?如何加入静态字符串和动态属性以传递给助手?
【发布时间】:2015-04-03 01:34:45
【问题描述】:

如何加入静态字符串和动态属性以传递给助手?

以下不起作用:

{{svg 'icon-' model.prop1}}

谢谢

【问题讨论】:

    标签: ember.js htmlbars


    【解决方案1】:

    您可以实现一个自定义助手,将两个值连接起来,然后将其用作子表达式,例如'连接'

    {{svg (concat 'icon-' model.prop1)}}
    

    【讨论】:

    • 谢谢。你有 concat 助手的例子吗?
    • 好的,我能够让它工作。但是,我无法在model.pro1 上调用toLowerCase,为什么{{ model.prop1.toLowerCase() }} 不起作用?
    • 模板中不能调用函数
    • 哦,所以我必须为 toLowerCase 创建另一个助手?
    • 好的,我创建了一个 toLowerCase 助手,它似乎可以工作,但是如果我嵌套它{{svg (concat 'icon-' (toLowerCase model.prop1))}} 它就不行如果我只有{{concat 'icon-' (toLowerCase model.pro1)}},它就可以工作。
    【解决方案2】:

    这是错误的方法。要么在控制器或视图中计算图标的最终名称,要么在模型中创建一个名为 icon 的新属性,例如

    DS.Model.extend({
       icon: function() {
         return 'icon-' + this.get('prop1').toLowerCase();
       }.property('prop1');
      ....
    

    控制器/视图:

       icon: function() {
         return 'icon-' + this.get('model.prop1').toLowerCase();
       }.property('model.prop1');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      相关资源
      最近更新 更多