问题标签 [flow-router]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
570 浏览

javascript - 流路由器的流星:我可以从流路由器触发器中访问 Meteor.User 吗?

我相信从安全角度来看,最好在两个地方处理对受限 URL 的访问:

  • 路由级别:确保没有人能够到达不允许的路由
  • 模板级别:在验证权限之前不会显示受限数据。

Iron-Router支持第一种方式,但是我想用Flow-Router.

我发现Meteor 的一篇文章:使用流路由器进行身份验证和权限Satya van He-men在 这篇文章中,他使用路由组和触发器按权限“过滤”路由。 但在这篇文章中,他使用 了, ,和对象的函数内部

Meteor.loggingIn()Meteor.userId()Meteor.user()Roles.userIsInRole() triggersEnter:FlowRouter


这些函数中的任何一个是否有可能在执行期间未定义triggersEnter
使用它们安全吗?
我喜欢文章中的模式,但想确保它可以安全使用(或者只需少量更改即可变得安全)

0 投票
0 回答
62 浏览

meteor - 在路由之间切换时 Meteor 中的持久复选框状态

问题:在单页应用中,当用户从一个页面转到另一个页面时,Meteor 是否保持 Checkbox 的状态?

我正在尝试在 Meteor 中开发一个“选择要阅读的书籍”应用程序,在主页上,用户可以从多本书中进行选择以添加到他的阅读列表中。所选书籍显示在我的阅读列表页面上。我已经用 Flow Router 建立了路由系统。

问题:一切都按预期工作。我可以在第一页选择书籍。所选书籍显示在第二页。但是当我回到第一页添加更多书籍或查看选定的书籍时,所有复选框都像新的一样新鲜。

  • 这在 Meteor 中是正常的还是我错过了什么?
  • 如果这是正常的,如何在第 1 页和第 2 页之间来回切换时使复选框状态保持不变?
0 投票
0 回答
166 浏览

node.js - 为什么在我的 metor.js 应用程序中使用 react 时不包含单独的 .jsx 文件

我一直在使用meteor-react 和flow-router 开发meteor.js 和react.js 应用程序。

我从这样的结构开始:

  • 客户
    • 成分
      • 注册.jsx
    • 布局
      • 头文件.jsx
      • 页脚.jsx
      • router.jsx main.html main.jsx

在我的 router.jsx 文件中,我从 register.jsx 文件中调用 RegisterForm 类

});

只要我的所有组件类都在 register.jsx 文件中,这很好用,但是随着我的项目越来越大,我不想将所有类放在一个文件中,而是将 register.jsx 拆分为单独的 .jsx 文件。

例如,我有一个名为 VerifiedInput 的类,它包含用于自定义输入字段验证的额外功能。如果我在同一个 register.jsx 中包含这个类,我可以在我的 RegisterForm 类的渲染函数中调用它,

但是如果我将 VerifiedInput 类移动到一个单独的文件中,那么我的组件文件夹结构将更改为:

然后我收到一个错误:ReferenceError: VerifiedInput is not defined

这似乎表明 .jsx 文件不包括在内。

据我了解,meteor 应该自动在客户端文件夹中包含文件,并且无法使用require() Meteor.js

如何确保包含单独文件中的反应类?

0 投票
1 回答
848 浏览

javascript - 使用 Flow Router 检查用户是否存在于每条路由中

我在 Meteor 中有一个用户个人资料。

我正在使用流路由器。

我想检查用户是否存在于每条路线上。

我努力了

但它不起作用。

我猜是因为我还没有订阅用户收藏。

我怎样才能在路线中做到这一点?我应该使用

编辑

我尝试使用模板签入

但它只会user使用用户对象或 null 的变量填充模板。

我想将 Flow Router 提供的 notFound 配置用于不存在的路由。我想这也可以应用于“不存在的数据”。

因此,如果路由路径是/users/:userId且具有特定 userId 的用户不存在,则路由器应将该路由解释为无效路径。

0 投票
2 回答
90 浏览

meteor - 在 Meteor 中,如何仅为登录用户加载某些文件?

我正在尝试使用 Meteor 创建一个管理面板。我不想将任何与管理面板相关的 js 和 html 文件加载给普通用户。仅在用户登录时才需要加载它们。我该如何实现呢?(我使用 FlowRouter 来管理路线)

0 投票
1 回答
72 浏览

javascript - 流路由器参数在钩子和订阅中没有改变

我在用

添加projectId到所有创建的任务并订阅具有指定的任务projectId

但是,当我更改projectIdwith时FlowRouter.setParam( 'projectId' ... ),我的钩子和订阅似乎projectId没有改变。

我究竟做错了什么?我必须把它放在里面Tracker.autorun()还是什么?是因为我使用onCreated而不是onRendered

0 投票
0 回答
214 浏览

javascript - 在 Meteor 中使用 Flow Router 进行子导航

我有一个布局

我使用流路由器导航到设置:

但是我的设置页面由多个设置页面组成,所以我需要在设置页面上有一个菜单,以便用户可以导航到其他设置页面(即更改密码、更改名称等)。

我必须为每个设置页面设​​置路线,但我怎样才能在设置页面之间保留一个用于导航的侧边栏?

路线是

  • /设置
  • /设置/更改密码
  • /设置/删除用户

等等

我认为用户应该能够在 route 的“主/基本设置页面”上更改他/她的名字/settings

我想我可以制作另一个带有侧边栏的布局页面,所以我可以设置路线

但我不太确定这是否是最好的方法。

0 投票
1 回答
476 浏览

javascript - 在 Meteor 中使用 Flow Router 对路由进行分组

在流路由器中,我有一些路由

  • /项目/项目名称
  • /项目/项目名称/任务
  • /项目/项目名称/任务/已删除任务
  • /projects/project-name/tasks/已完成的任务
  • /项目/项目名称/任务/标签/学校
  • /项目/项目名称/任务/标签/足球
  • /项目/项目名称/任务/标签/培训
  • /项目/项目名称/任务/标签/个人
  • [...]

所以几乎我所有的路线都应该具有大部分相同的特征。

是否有任何技巧可以对我的路线进行分组,所以我现在必须检查项目是否存在于每条路线中,或者我是否可以说某些路线建立在其他路线之上,所以我不必为所有路线编写长路径路线?

我找到了 Flow Router,但它似乎不是完成我需要的正确工具。

0 投票
1 回答
138 浏览

javascript - 如果对象不存在,则重定向到 Meteor 中的不同路线

我有一条使用流路由器postDetail的路径。/posts/:postId

我想检查帖子是否真的存在。如果帖子不存在,我想显示postList路线。

我怎样才能做到这一点?我想我可以使用triggersEnter;但是,数据是在模板中订阅的,所以也许我不能triggersEnter在路由器中使用。

一种简单的方法是doesExists使用模板助手中的变量填充模板,然后使用

但我认为这不是一个非常聪明的方法,因为我必须在很多不同的模板中这样做,而且我无法使用这种方法将用户重定向到 postList 路由。

0 投票
2 回答
1399 浏览

meteor - 在流星中,如何等待订阅并在模板`rendered`函数中访问它们?

FlowRouter在我的应用程序中使用,并且是 Meteor 的新手。我已经像这样订阅了我的收藏:

我试图在rendered函数中使用订阅,但它不起作用:

如果我正确,我必须等待订阅可用。我怎样才能做到这一点?我还需要在准备就绪时添加加载消息(或微调器)。我知道如何在 IronRouter 中执行此操作,但不使用 FlowRouter。