我创建了一个成员演示,一个父视图,它的子视图--这是父视图
<h1>A list of Todo Tasks</h1>
<ul>
{{#each model as |todo|}}
<li>{{#link-to "todos.details" todo}}{{todo.desc}}{{/link-to}}</li>
{{/each}}
</ul>
{{outlet}}
它的js登录是从‘Ember’导入ember;
export default Ember.Route.extend({
model (){
return [{
"id" : 1,
"desc" : "Try use ember"
},
{
"id" : 2,
"desc" : "Add it to github"
},
];
}
});
但是,当我使用链接和导航数据时,除非刷新页面,否则数据不会显示,这是子视图。
<h2>The Details for <span style="color: green;">{{model.name}}</span> is : </h2>
{{#if model.error}}
<p>{{model.message}}</p>
{{else}}
<ul>
{{#each model.steps as |task|}}
<li>{{task.do}}</li>
{{/each}}
</ul>
{{/if}}
{{outlet}}
及其js逻辑
import Ember from 'ember';
export default Ember.Route.extend({
model(params){
if(params.id == "1"){
return {
name : "Ember SetUp",
steps : [{
id :1,
do : "Download Ember Cli"
},
{
id :2,
do : "Generate New Project"
},
{
id :3,
do : "Generate Pages&Routes"
}
]
};
}
else{
return {
error : true,
name : "Not Found",
message : "There is no task with this id"
}
}
}
});
iam使用EMB2.5,这是路由器的一部分
this.route('todos', function() {
this.route('details',{path : "/:id"});
});
发布于 2017-06-05 04:45:02
{{#link-to "todos.details" todo}}
因为您提供了对象todo
,所以它不会执行模型钩子。所以试试
{{#link-to "todos.details" todo.id}}
请参阅此处:dynamic-models
注意:带有动态段的路由在通过URL输入时总是会调用它的模型钩子。如果该路由是通过转换输入的(例如,在使用链接到车把助手时),并且提供了模型上下文(链接到链接的第二个参数),则不执行钩子。如果提供了标识符(例如id或段塞),则将执行模型钩子。
发布于 2017-06-06 13:01:53
这里的视频操作。真对不起。对我来说,这是一个小小的错误,我应该在视频的评论中提到这一点,并试图对此加以修正。抱歉弄乱了!D:
https://stackoverflow.com/questions/44359956
复制相似问题