如何使用把手在余烬中出现图像

时间:2014-11-09 19:08:22

标签: image ember.js helper handlebars.js

你好我想从下面写的代码中看到图像,但我不能。有任何想法吗? 我用谷歌搜索,我发现我必须使用辅助功能。

(模板) showallapps.hbs

{{#if getappsexist}}
    {{#each app in getapp}}
       {{#each app.app_files}}
        {{#link-to "dashboard" app}}
            <img {{bind-attr src=get_url}} class="img-responsive">
        {{/link-to}}
        {{/each}}
        {{#link-to "dashboard" app}}
            {{app.app_name}}
        {{/link-to}}

(控制器) showallapps.js

import Ember from 'ember';

export default Ember.ObjectController.extend({
  apps:[],

   getappsexist: function () {
    var appsexist = false;
    if (this.store.all('userapp').content.length > 0) {
        appsexist = true;
    }
    return appsexist;
}.property(),

getapp: function () {
   this.apps = this.store.all('userapp');
   return this.apps;
}.property(),

get_url: function (){  
  var url = 'http://' + JSON.parse(this.apps.content[2]._data.app_files).url;
  return url;  
}.property()

});

我有这个json。

{
    "userapp": [
        {

        }, 
        {  
           "app_files": "{"url":"static.xxx.xxx/data/application/3911efd9-413a-11e1-b5e9-fbed80c8f6ba/eleutheris_epilogis.jpg","mime":"image/jpeg","name":"eleutheris epilogis.jpg"}" 
        } 
     ]
}

我收到这些错误: 未捕获错误:断言失败:#each循环的值必须是数组。你通过{“url”:“static.xxx.xxx/data/application/3911efd9-413a-11e1-b5e9-fbed80c8f6ba/eleutheris_epilogis.jpg","mime":"image/jpeg","name":"eleutheris epilogis .jpg“}

1 个答案:

答案 0 :(得分:1)

您需要将图像网址形成为控制器中某种类型的属性(就像使用getUrl计算属性一样)。然后你可以通过做这样的事情来绑定它:

<img {{bind-attr src=getUrl}} class="img-responsive" />