Iron router,试图创建一个联系人应用,每个联系人都有单独的页面
iron router, trying to create a contacts app with a separate page for each contact
我想让每个联系人在集合中都有一组特定的值,比如名字、姓氏和电子邮件。我希望每次从列表中选择联系人时,它都会链接到第二个页面,其中显示该联系人的所有详细信息。
这是我放在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);
}
});
一切都很好。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- Emberjs应用程序加载在除Index之外的所有路由上
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 跟踪在页面加载时应用内联样式的JavaScript
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 如果文本字段为空,则使用JavaScript应用CSS样式
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- angular 1.5应用程序中的导航栏
- 在Web应用程序中使用Highcharts javascript
- 在验证和发送邮件后更改联系人表单的 html
- Iron router,试图创建一个联系人应用,每个联系人都有单独的页面
- 如何加载选定的联系人到一个文本框在Android原生应用程序与HTML5构建
- 在非本机应用程序中将号码添加到iPhone或Android手机联系人列表中
- 如何导入gmail联系人在IONIC应用程序
- 无法在android应用程序中搜索联系人
- 如何将谷歌联系人列表拉入流星应用程序
- 如何在我们自己的应用程序中使用联系人
- Windows Phone 8.1通用应用程序添加新联系人