余烬链接创建链接到未定义
Ember link-to creats link to undefined
我有一个非常简单的示例应用程序,我试图创建一些动态嵌套路由。似乎链接到帮助器在URL中放了'undefined',而不是对象的id。
这发生在'states'列表(第一个列表,还没有到第二个列表)
我在SO上发现的类似问题似乎并没有为我解决这个问题。
下面是js:
App = Ember.Application.create();
App.Router.map(function() {
this.resource('states', function () {
this.resource('state', {path: '/:stateId'}, function () {
this.resource('manifests', function () {
this.resource('manifest', {path: '/:manifestId'});
})
});
});
});
App.IndexRoute = Ember.Route.extend({
model: function() {
return ['red', 'yellow', 'blue'];
}
});
App.StatesRoute = Ember.Route.extend({
model: function () {
return [{
id: 1,
stateName: 'Tennessee'
}, {
id: 2,
stateName: 'Michigan'
}, {
id: 3,
stateName: 'Texas'
}];
}
});
App.StateRoute = Ember.Route.extend({
model: function (params) {
console.dir(params);
return [{
manifestId: 1,
manifestName: 'Manifest 1'
}, {
manifestId: 2,
manifestName: 'Manifest 2'
}, {
manifestId: 3,
manifestName: 'Manifest 3'
}];
}
});
App.ManifestsRoute = Ember.Route.extend({
model: function (params) {
console.dir(params);
}
});
下面是HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ember Starter Kit</title>
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<script type="text/x-handlebars">
<h2>Welcome to Ember.js</h2>
{{outlet}}
</script>
<script type="text/x-handlebars" id="states">
<ul>
{{#each}}
<li>{{#link-to 'state' this}}{{this.stateName}}{{/link-to}} </li>
{{/each}}
</ul>
{{outlet}}
</script>
<script type="text/x-handlebars" id="state">
<ul>
{{#each man in .}}
<li>{{#link-to 'manifest' man}}{{man.manifestName}}{{/link-to}}</li>
{{/each}}
</ul>
</script>
<script src="js/libs/jquery-1.10.2.js"></script>
<script src="js/libs/handlebars-1.1.2.js"></script>
<script src="js/libs/ember-1.5.1.js"></script>
<script src="js/app.js"></script>
<!-- to activate the test runner, add the "?test" query string parameter -->
<script src="tests/runner.js"></script>
</body>
</html>
我知道这是一个旧的帖子,但实际的ember版本有同样的"问题"。"issue"在router中,你应该用下划线来命名你的:id,这将解决url中的" undefined "。
例如::state_id and manifest_id
您需要传递一个ember模型或使用id。当使用纯对象时,ember不知道构建URL的主键是哪个。
{{#link-to 'state' id}}{{stateName}}{{/link-to}}
然后,您可以将StateRoute中的参数读取为params.stateId。
相关文章:
- 来自流星模板的 HTML 图像链接未由浏览器呈现
- 禁用触摸设备上的单击链接未按预期工作
- 活动链接未更改颜色
- 未捕获的ReferenceError:链接未定义React
- jQuery链接未按预期工作
- 如何在指令链接中定义的事件上测试$
- Ajax 分页链接自定义
- 写入页面的PHP链接未被JAVASCRIPT函数检索
- 推特推文链接未显示
- 链接未生成
- 角度指令编译/链接未被调用
- 选项卡链接未重新定向到右侧页面
- 链接自定义 JavaScript 函数
- 链接未要求用户确认
- 完整日历'+更多'链接未按预期显示当天的所有事件
- 链接未使用ajax/jquery从数据库加载数据
- 动态创建的锚链接未接收'单击'事件
- href链接未打开,引导程序在单击时将打开类添加到下拉菜单,而不是打开链接
- 余烬链接创建链接到未定义
- SimpleCart.js项链接未定义,可以'I don’我无法获得工作链接