我想展示我从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'
请帮忙。谢谢...
如果您是从模型挂钩返回的,它将可以正常工作。如果要从某个计算属性返回它,则应该只返回问题。
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] 删除。
我来说两句