我有main.html
个文件也是layout.html
个文件。在布局中,它包含此代码
<template name="layout">
<div class="container">
<header class="navbar">
<div class="navbar-inner">
<a class="brand" href="{{pathFor 'postsList'}}">Test</a>
</div>
</header>
<div id="main" class="row-fluid">
{{yield}}
</div>
</div>
然后我有一个publications.html
文件
Meteor.publish('posts', function() {
return Posts.find();
});
和router.js
文件
Router.configure({
layoutTemplate: 'layout',
loadingTemplate: 'loading',
waitOn: function() { return Meteor.subscribe('posts'); }
});
Router.map(function() {
this.route('postsList', {path: '/'});
this.route('postPage', {
path: '/posts/:_id',
data: function() { return Posts.findOne(this.params._id); }
});
});
然后我的posts_list.html
<template name="postsList">
<div class="posts">
{{#each posts}}
{{> postItem}}
{{/each}}
</div>
集合
if (Posts.find().count() === 0) {
Posts.insert({
title: 'Twitter',
author: 'Tom',
url: 'http://twitter.com'
});
Posts.insert({
title: 'Facebook',
author: 'Mark',
url: 'http://facebook.com'
});
}
我的显示页面出现了对象错误。它没有显示我的帖子,只是[object Object]。任何原因,我的路线是否正确?
这是错误的图像!
答案 0 :(得分:1)
您需要使用alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, alarmDelay, pendingIntent);
代替{{> yield}}
。
长解释:{{yield}}
构造告诉Meteor在那里渲染模板;否则,它会尝试转换为将助手调用到字符串的结果。获得{{> ...}}
的原因是因为[object Object]
助手是一个对象;你可以通过记录来看到它:
yield
这导致......
console.log(Blaze._globalHelpers.yield);
对象在转换为字符串时,呈现为“[object Object]”。您可以在控制台中进行确认:
{viewName: "yield", renderFunction: function, __helpers: HelperMap, __eventMaps: Array[0], _callbacks: Object…}