如何在没有任何收集数据的情况下在Iron Router中执行基于URL的功能?

时间:2015-11-23 15:44:20

标签: meteor iron-router

基于Session.set路由的方式是什么,而不保存任何数据到集合?例如,用户输入某个站点的URL。

'submit #form': function (event, template) {
    event.preventDefault();
    var url = template.find('#input').value;
    if (url)
        Session.set('url', url);
}

路径文件的样子,如果我们想根据URL执行功能,请说:

www.example.com/download?url=http://youtube.com

并根据URL的输入执行函数?

我不喜欢我目前这样做的方式。对我来说太复杂了如下:

Template.formButton.events({
  'submit #form': function (event, template) {
    event.preventDefault();
    var url = template.find('#input').value;
    if (url)
        var linkId = Link.insert({
          url: url,
        });
        var route = {_id:linkId};
        Router.go('download', route);
  }
});
this.route('download', {
  path: '/download/:_id',
  where: 'client',
  data: function() {
    return Link.findOne(this.params._id);
  },
  onBeforeAction: function() {
    var data = this.data();
    if (data)
      var url = data.url;
      console.log(url);
      Meteor.call(getUrl, url, function(error, result) {
        console.log(result)
        this.next();
      });
  }
});

0 个答案:

没有答案