Javascript {{link to}}助手传递的对象的呈现视图问题
我有一个简单的动物列表,按类别显示它们。 在导航中拾取类别时,该类别中的所有动物都将与其属性一起列出。 单击动物框时,将加载该动物的视图。在这本书中,这一类别被删除,并被概括为动物。 该逻辑在我的路线中实现 这里有一个问题,动物路线不会将动物表示对象带到视图中 虽然我传递了对象Javascript {{link to}}助手传递的对象的呈现视图问题,javascript,ember.js,Javascript,Ember.js,我有一个简单的动物列表,按类别显示它们。 在导航中拾取类别时,该类别中的所有动物都将与其属性一起列出。 单击动物框时,将加载该动物的视图。在这本书中,这一类别被删除,并被概括为动物。 该逻辑在我的路线中实现 这里有一个问题,动物路线不会将动物表示对象带到视图中 虽然我传递了对象{{{#链接到'animal'this}} 我做错了什么? 谢谢你的帮助 这里有一个: 演示: 完整代码模型: 查看: //...... <script type="text/x-handlebars" id
{{{#链接到'animal'this}}
我做错了什么?
谢谢你的帮助
这里有一个:
演示:
完整代码模型:
查看:
//......
<script type="text/x-handlebars" id="cats">
<h3>Cats</h3>
<div class="nodec" style="display: table; border-spacing:20px;">
{{#each cat in model}}
{{#link-to 'animal' this}}
<div class="box">
<dl class="fsize15 resetstyle">
<h4>{{cat.name}}</h4>
<dt class="b fleft">Size:</dt>
<dd class="fleft">{{cat.specs.size}}</dd>
<dt class="b fleft clear">Speed:</dt>
<dd class="fleft">{{cat.specs.speed}}</dd>
</dl>
</div>
{{/link-to}}
{{/each}}
</div>
</script>
<script type="text/x-handlebars" id="animal">
<h3>Animal</h3>
<div>
<h4>{{name}}</h4>
</div>
</script>
//....
App.Router.map(function() {
this.resource("animals", function(){
this.resource("cats");
});
this.route("animal",{path: 'animal/:animal_id'});
});
App.CatsRoute = Ember.Route.extend({
model: function() {
var cats = [];
var animals = getJson();
for(var place in animals.cats){
$.merge(cats, animals.cats[place]);
}
return cats;
}
});
App.AnimalRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('animal', params.animal_id);
}
});
//......
您应该使用{{{链接到'animal'cat}}
而不是{{链接到'animal'this}
:
演示:
this
是对类的引用,而cat
是对对象的引用。在这种情况下,您希望传递要链接到的对象,以便ember可以从中提取正确的属性,并使用嵌套资源中的链接到正确的路由 非常感谢你的帮助。谢谢。
<script type="text/x-handlebars" id="cats">
<h3>Cats</h3>
<div class="nodec" style="display: table; border-spacing:20px;">
{{#each cat in model}}
{{#link-to 'animal' cat}}
<div class="box">
<dl class="fsize15 resetstyle">
<h4>{{cat.name}}</h4>
<dt class="b fleft">Size:</dt>
<dd class="fleft">{{cat.specs.size}}</dd>
<dt class="b fleft clear">Speed:</dt>
<dd class="fleft">{{cat.specs.speed}}</dd>
</dl>
</div>
{{/link-to}}
{{/each}}
</div>
</script>
{{ log this }}
{{ log cat }}