iron router,试图创建一个联系人应用程序,每个联系人都有一个单独的页面
iron router, trying to create a contacts app with a separate page for each contact
我正在尝试让每个联系人在集合中都有一组特定的值,例如名字、姓氏和电子邮件。每次从列表中选择联系人时,我都希望 link 转到显示该联系人所有详细信息的第二页。
这是我放在 Contact.js 文件顶部的代码...
Router.route('/post/:_id', function () {
this.render('Post', {
data: function () {
return Contax.findOne({_id: this.params._id});
}
});
});
这是选择特定联系人时的事件处理程序...
Template.aCont.events({
"click #view": function() {
Router.go('/post/:' + this._id);
}
});
这是我的相关 html
<template name="contDeets">
<ul class="list-group">
<li class="list-group-item">{{this.firstName}}, {{this.lastName}}</li>
</ul>
</template>
<template name="Post">
{{#contentFor "headerButtonLeft"}}
{{>ionNavBackButton}}
{{/contentFor}}
{{#contentFor "headerTitle"}}
<h1 class="title">Contacts</h1>
{{/contentFor}}
{{#contentFor "headerButtonRight"}}
<a id="add" class="button button-clear button-positive" href='/add'>Add</a>
{{/contentFor}}
{{#ionView}}
{{#ionContent}}
<div id="contactList2">
{{> contDeets}}
</div>
{{/ionContent}}
{{/ionView}}
</template>
我的代码有什么问题?它正在打开一个带有正确 url 的新页面,但是它应该显示的信息...{{this.firstName}},{{this.lastName}}...不存在除了逗号。
路由声明中的冒号是为了标记参数。调用路由时,您不能包含它,而只需提供您想要的参数值:
Template.aCont.events({
"click #view": function() {
Router.go('/post/' + this._id);
}
});
其他一切看起来都不错。
我正在尝试让每个联系人在集合中都有一组特定的值,例如名字、姓氏和电子邮件。每次从列表中选择联系人时,我都希望 link 转到显示该联系人所有详细信息的第二页。
这是我放在 Contact.js 文件顶部的代码...
Router.route('/post/:_id', function () {
this.render('Post', {
data: function () {
return Contax.findOne({_id: this.params._id});
}
});
});
这是选择特定联系人时的事件处理程序...
Template.aCont.events({
"click #view": function() {
Router.go('/post/:' + this._id);
}
});
这是我的相关 html
<template name="contDeets">
<ul class="list-group">
<li class="list-group-item">{{this.firstName}}, {{this.lastName}}</li>
</ul>
</template>
<template name="Post">
{{#contentFor "headerButtonLeft"}}
{{>ionNavBackButton}}
{{/contentFor}}
{{#contentFor "headerTitle"}}
<h1 class="title">Contacts</h1>
{{/contentFor}}
{{#contentFor "headerButtonRight"}}
<a id="add" class="button button-clear button-positive" href='/add'>Add</a>
{{/contentFor}}
{{#ionView}}
{{#ionContent}}
<div id="contactList2">
{{> contDeets}}
</div>
{{/ionContent}}
{{/ionView}}
</template>
我的代码有什么问题?它正在打开一个带有正确 url 的新页面,但是它应该显示的信息...{{this.firstName}},{{this.lastName}}...不存在除了逗号。
路由声明中的冒号是为了标记参数。调用路由时,您不能包含它,而只需提供您想要的参数值:
Template.aCont.events({
"click #view": function() {
Router.go('/post/' + this._id);
}
});
其他一切看起来都不错。