Javascript 用于路由器映射的Ember.js帮助
我想要获取URL:localhost#/234/23/456/524jk53(/one_id/two_id/three_id/four_id) 和模板的分离:Javascript 用于路由器映射的Ember.js帮助,javascript,ember.js,Javascript,Ember.js,我想要获取URL:localhost#/234/23/456/524jk53(/one_id/two_id/three_id/four_id) 和模板的分离: <script type="text/x-handlebars"> {{outlet one}}<br> {{outlet two}}<br> {{outlet three}}<br> {{outlet}} </script> <scri
<script type="text/x-handlebars">
{{outlet one}}<br>
{{outlet two}}<br>
{{outlet three}}<br>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="one">
one, to {{linkTo 'two'}}two{{/linkTo}}
</script>
<script type="text/x-handlebars" data-template-name="two">
two, to {{linkTo 'three'}}three{{/linkTo}}
</script>
<script type="text/x-handlebars" data-template-name="three">
three, to {{linkTo 'four'}}four{{/linkTo}}
</script>
<script type="text/x-handlebars" data-template-name="four">
four
</script>
我有错误:断言失败:无法在未定义的对象上使用“id”调用get
请帮助我为该应用程序的层次结构编写router.map好的,首先,您可以从
{path:'/:dynamic_id'}
中删除/
接下来,您需要了解,当您在链接到
辅助对象中引用的管线中预期有动态管段时,您需要将模型(或其他)对象作为附加参数传递给链接到辅助对象,作为每个动态管段的上下文
这可能就是为什么会出现错误。您的路由器应如下所示:
Stat.Router.map(function () {
this.resource('one', {path: ':one_id'}, function(){
this.resource('two', {path: ':two_id'}, function(){
this.resource('three', {path: ':three_id'}, function () {
this.resource('four', {path: ':four_id'});
});
});
});
});
在模板中,应该传递段的上下文,例如:
{{linkTo 'two' modelOne modelTwo}}Hello World!{{/linkTo}}
无论如何,我认为你需要改进你的问题。你到底想达到什么目的?如果您的动态段不是模型ID,那么您可能需要查看覆盖相关路由文件中的
序列化
回调。是否要从服务器获取此URL?或者希望此URL成为应用程序中的路由?
Stat.Router.map(function () {
this.resource('one', {path: ':one_id'}, function(){
this.resource('two', {path: ':two_id'}, function(){
this.resource('three', {path: ':three_id'}, function () {
this.resource('four', {path: ':four_id'});
});
});
});
});
{{linkTo 'two' modelOne modelTwo}}Hello World!{{/linkTo}}