在 Ember 中将模型属性插入 Img 元素 URL

2024-05-07

我有一个模型image_id财产。我有一个包含图像元素的模型视图。我需要将 id 插入图像元素的src属性来完成图像的 URL,以便我有效地执行此操作:

<img src="news + newsItem.imageID + .jpg"></img> 

我的第一次尝试使用了 Handlebars 助手:

<img src="news{{newsImageURL newsItem.imageID}}.jpg"></img> 

但这也在它周围插入了 Metaamprph 脚本标签:

<img url="&lt;script id='metamorph-10-start' type='text/x-placeholder'&gt;&lt;/script&gt;news/7.jpg&lt;script id='metamorph-10-end' type='text/x-placeholder'&gt;&lt;/script&gt;" alt="" class="content-image news-media" /></a>

所以我考虑过使用bindAttr,但是,由于我需要转换 image_id 值(通过预先考虑和追加路径的其余部分),这似乎也不是一个解决方案。


有两种可能性:

1-将图像路径声明为模型的计算属性。如果你不喜欢这样,你可以也在您的 ObjectController 中声明它支持此模板:

模板:

// until 1.0 RC7
<img {{bindAttr src="newsItem.imagePath"}}></img> 
// from 1.0 final (the above one is deprecated)
<img {{bind-attr src=newsItem.imagePath}}></img> 

该模型:

App.NewsItem = DS.Model.extend({
  imageID: DS.attr('string'),
  imagePath: function() {
    return "/assets/news/"+this.get("imageID")+".jpg";
  }.property('imageID')
});

2-如果你不需要1中的绑定(我猜你的id不会改变)并使用unbound helper,这不会产生脚本标签:

<img src="news{{unbound newsItem.imageID}}.jpg"></img> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ember 中将模型属性插入 Img 元素 URL 的相关文章