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

前端之家收集整理的这篇文章主要介绍了将模型属性插入到Ember中的Img元素URL中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个带有image_id属性的模型.我有一个包含图像元素的模型的视图.我需要将id插入到图像元素的src属性中以完成图像的URL,以便我有效地执行此操作:
<img src="news + newsItem.imageID + .jpg"></img>

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

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

但是这也插入了Metamprph脚本标签

<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不会改变),并使用未绑定的助手,这不会导致脚本标签

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

猜你在找的HTML相关文章