获取嵌套对象时在 hbs 中获取帮助程序
Get helper in hbs when getting nested object
假设我有以下对象:
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}}
。
假设我有以下对象:
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}}
。