javascript - 如何在 EmberJs 中将具有变量和静态部分的属性传递给组件?

标签 javascript ember.js attributes

我正在尝试将样式属性传递给链接组件。由于它不是默认的 attributeBinding,我必须重新打开 LinkComponent 类并在其中添加“style”属性。

Ember.LinkComponent.reopen({
  attributeBindings: ['style']
});

这样做,现在我可以设置如下内容:

{{#link-to element.link element.param style="background: red;"}}Text Link{{/link-to}}

它将正确渲染它,我们将看到一个令人眼花缭乱的红色背景链接。

我想要实现的是将图像 url 作为样式属性上的背景图像属性应用。

{{#link-to element.link element.param style="background-image: url(element.background);"}}Text Link{{/link-to}}

但我只获取属性内的变量名称。

我尝试过:

  • 元素.背景
  • ${element.background}
  • {{element.background}}
  • 将其视为字符串和变量部分“url("+element.background+")”的总和,但它会破坏代码编译

我知道它似乎是一个计算属性,可能会传递 URL 并在类内创建整个值,或者可能传递首先使用 style=element.background 格式化的值可以做到这一点,但由于它是链接到帮助程序,我更愿意让它只监听 style 属性,而模型只保存 url 值。

任何帮助或想法都会受到广泛欢迎。

最佳答案

您可以使用concat帮助器,

style=(concat 'background-image: url(' element.background ');')

引用:http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_concat

关于javascript - 如何在 EmberJs 中将具有变量和静态部分的属性传递给组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40536814/

相关文章:

javascript - 如何使用 swift3 从 alamofire 响应中获取字典数组的值

javascript - 显示与动态创建的缩略图关联的正确图片

javascript - 单击按钮不会在第一次单击时更新 this.setState;第二次点击更新

javascript - 使用 jQuery 删除 HTML onchange 代码

asp.net-web-api - ember-data:按需加载hasMany关联

ember.js - ember Electron :package build failed, 由 ember-browserify 引起

javascript - EmberJS - 如何在点击时添加一个类?

c# - GetHashCode 和 Equals 在 System.Attribute 中实现不正确?

list - 加特林,将值 append 到 session 中的现有列表属性

c# - 基于属性的编程有什么优点?