使用Router.go设置模板数据上下文



使用iron路由器,我可以设置模板的数据上下文,如下所示:

Router.route('hello', {data: {greeting: 'hello'}})

所以如果我的hello.html看起来像这样:

<template name="hello">
  <h1>{{greeting}}</h1>
</template>

不出所料,我收到了一个页面,上面写着你好

问题:我可以用Router.go()做这个吗?根据我所读到的,这应该是有效的:

Router.go('hello', {greeting: 'Whazaaaaaaa'})

但我得到的只是一个无聊的你好。可以用这种方式设置数据吗?如果Router.go中的第二个参数不用于数据,那么它用于什么?

是的,应该可以。第二个参数作为参数传递给route函数,因此需要相应地设置该参数。试试这个:

Router.route('/hello/:greeting', {
  template: 'hello',
  data: function() {
    return {greeting: this.params.greeting};
  }
});

现在您可以拨打:

Router.go('hello', {greeting: 'Whazaaaaaaa'})

相关内容

  • 没有找到相关文章

最新更新