![](/img/trans.png)
[英]access to a related collection in an ember-model object via hasMany relationship
[英]Return object as ember-model with matching key in array of JSON objects
我要完成的任务是仅将一个对象返回模型,并在车把模板中遍历其属性。 感谢您的帮助!
我的回答如下:
{"U+554A":{
"id":1,
"unihex":"U+554A",
"num_reference":"呵",
"totalStrokes":10,
"kMandarin":"a\n",
"kDefinition":"exclamatory particle\n"},
"U+611B":{
"id":2,
"unihex":"U+611B",
"num_reference":"愛",
"totalStrokes":13,
"kMandarin":"\u00c3\u00a0i\n",
"kDefinition":"love, be fond of, like\n"}
}
我尝试了一切。 最明显的是这两个,就像试用一样,但ember检查器显示未设置任何模型:
var sinograms = Ember.$.getJSON(apiurl);
return sinograms['U+554A'];
我也尝试过:
var sinograms = Ember.$.getJSON(apiurl);
return sinograms[0];
注意:如有必要,我可以更改回复格式。 我知道当我松开对象键(不带“ U + 554A”)时它可以工作,但是那我该如何选择匹配的字符。
@abuani:应您的要求。 谢谢。
//app.js
App = Ember.Application.create();
App.Router.map(function() {
this.resource('signup');
this.resource('login');
this.resource('profile');
this.resource('overview');
this.resource('practice');
});
App.OverviewRoute = Ember.Route.extend({
model: function() {
var url = 'http://localhost/~hiufung/RoadToChinese/index.php/api/sinograms/random?limit=2';
var sinograms = Ember.$.getJSON(url);
return sinograms;
}
});
//index.html (inline template)
<script type="text/x-handlebars" id="overview">
<header class="bar bar-nav">
<a class="icon icon-left pull-left" href="back"></a>
<h1 class="title">RoadToChinese</h1>
<a id="showRightPush" class="icon icon-gear pull-right" href="overview-settings"></a>
</header>
<div class="content">
<div class="content-padded">
{{#each object in model}}
<p>{{object.num_reference}}<p>
{{/each}}
</div>
</div>
</script>
我无法在您的初始问题中添加评论,但是可以请您发布其他一些代码:
正在加载此内容的路由器(我想这是在您的模型函数中完成的),setupController(如果有的话)以及正在尝试呈现该对象的模板。 没有这些信息,我无能为力。
编辑因为有代码:
我应该注意到,当Ember期望模型是对象数组时,您的模型将返回一个对象。 您应该做的第一件事是使服务器返回的数组为Array。 如果您对此无权控制,则可以更改模型以返回
return Ember.A([sinograms]);
那应该起作用。
不过,此后,您可以删除每个对象内的嵌套对象。 如果不删除它,那么还需要将内部对象设置为Array,以便可以对其进行迭代。
让我知道这是怎么回事。
这是JSBIN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.