Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于无功var的流星链路不工作_Javascript_Html_Meteor_Meteor Blaze_Flow Router - Fatal编程技术网

Javascript 基于无功var的流星链路不工作

Javascript 基于无功var的流星链路不工作,javascript,html,meteor,meteor-blaze,flow-router,Javascript,Html,Meteor,Meteor Blaze,Flow Router,我尝试创建一些适合当前url的链接,因此当我的当前url为“object/layout1…”时,我的链接也应该是这样,当url为“object/layout2”时,链接应该是“object/layout2…”。因此,我创建了这段代码,它应该将当前布局保存在一个被动变量中,并且应该在url更改时由于自动运行而刷新。这部分很好: Template.templateName.onCreated(function(){ //Save parameter layout in reactive var

我尝试创建一些适合当前url的链接,因此当我的当前url为“object/layout1…”时,我的链接也应该是这样,当url为“object/layout2”时,链接应该是“object/layout2…”。因此,我创建了这段代码,它应该将当前布局保存在一个被动变量中,并且应该在url更改时由于自动运行而刷新。这部分很好:

Template.templateName.onCreated(function(){
  //Save parameter layout in reactive var so it can be accessed by helper
  this.getParam = () => FlowRouter.getParam('parameter');

  this.autorun(() => {
    this.layout = new ReactiveVar(this.getParam());
  });
});
问题是返回新链接的帮助器没有更新。加载页面时,有正确的链接,但更改url后,链接没有任何更改。以下是帮助器的代码:

'returnLink':function(postId) {
    return '/object/' + Template.instance().layout.get() + '?firstList=' + postId;
  }
我遗漏了什么,为什么我的布局中的链接没有更新? 我在我的布局中使用助手,就像


是的,我首先使用flowrouter,如果您希望URL为/object/layout1/。。。当您在/object/layout1上时,您可以使用相对URL并删除所有onCreated()代码,如下所示:

'returnLink':function(postId) {
    return '?firstList=' + postId;
}
如果您仍然需要flowrouter中的reactive,文档中说,因此,您可以再次摆脱所有onCreated()代码,只需使用以下代码:

'returnLink': function (postId) {
    return '/object/' + FlowRouter.getParam('parameter') + '?firstList=' + postId;
}

试试看,告诉我进展如何。

谢谢!两者的结合做得很完美!