假设我有以下对象:
image: {
size: {
l: {
url: 'l.jpg',
},
m: {
url: 'm.jpg',
},
s; {
url: 's.jpg',
}
}
},
mySize: 'm'
如果我想在我的模板中得到相应的图像url,我应该怎么做?我试着:
{{get image mySize 'url'}}
但是它不工作。
我可以通过这样输入得到我想要的url:
{{get (get image mySize) 'url')}}
然而,这是一个非常不直观和丑陋的解决方案。有没有更好的办法?谢谢你。 您需要同时使用concat帮助器:
{{get image (concat 'size.' mySize '.url')}}
但是这听起来像是计算属性的工作:
imageUrl: Ember.computed('mySize', 'image.size', function() {
let { image, mySize } = this.getProperties('image', 'mySize');
return Ember.get(image, `size.${mySize}.url`);
})
这样你就可以在模板中使用{{imageUrl}}
了。
安贝抚弄