我正在尝试将样式属性传递给链接组件。由于它不是默认的 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/