无法遍历模板中的Ember.Deffered对象

艾哈迈德

我想展示我从Ember.Deferred解决得到的问题。并将其传递给控制器​​。但它显示错误。

<script type="text/x-handlebars" id="magazines/show/issues">
{{#if issues}}

    {{#each issue in issues}}
      <li class="has-sub">
        <a href="#">{{issue.name}}</a>
        <ul style="display: none;">
            <li {{action showGenericData issue}}><a href="#">Generic</a></li>
            <li><a href="#">Inside</a></li>
        </ul>
      </li>
    {{/each}}

{{else}}

    <li>No Issue</li>

{{/if}}

模型代码

var dfd = Ember.Deferred.create();
        var issues = Em.A();

        $.getJSON( App._api_path +  "issues/" + mag_id , 
        function(response){

            response.forEach(function(m){
                issues.pushObject(App.Issue.create(m));
            });

            dfd.resolve(issues);
        });

        return dfd;

控制台错误

Assertion failed: The value that #each loops over must be an Array. You passed <Ember.Deferred:ember285> ember-1.3.1.js:3285

Uncaught TypeError: Object [object Object] has no method 'addArrayObserver' 

请帮忙。谢谢...

劲派2k

如果您是从模型挂钩返回的,它将可以正常工作。如果要从某个计算属性返回它,则应该只返回问题。

 var dfd = Ember.Deferred.create();
 var issues = Em.A();

 $.getJSON( App._api_path +  "issues/" + mag_id , 
   function(response){

    response.forEach(function(m){
       issues.pushObject(App.Issue.create(m));
        });

    dfd.resolve(issues);
});

return issues;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章