问题标签 [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.
javascript - 流路由器的流星:我可以从流路由器触发器中访问 Meteor.User 吗?
我相信从安全角度来看,最好在两个地方处理对受限 URL 的访问:
- 路由级别:确保没有人能够到达不允许的路由
- 模板级别:在验证权限之前不会显示受限数据。
Iron-Router
支持第一种方式,但是我想用Flow-Router
.
我发现Meteor 的一篇文章:使用流路由器进行身份验证和权限Satya van He-men
在
这篇文章中,他使用路由组和触发器按权限“过滤”路由。
但在这篇文章中,他使用
了, ,和对象的函数内部。Meteor.loggingIn()
Meteor.userId()
Meteor.user()
Roles.userIsInRole()
triggersEnter:
FlowRouter
这些函数中的任何一个是否有可能在执行期间未定义triggersEnter
?
使用它们安全吗?
我喜欢文章中的模式,但想确保它可以安全使用(或者只需少量更改即可变得安全)
meteor - 在路由之间切换时 Meteor 中的持久复选框状态
问题:在单页应用中,当用户从一个页面转到另一个页面时,Meteor 是否保持 Checkbox 的状态?
我正在尝试在 Meteor 中开发一个“选择要阅读的书籍”应用程序,在主页上,用户可以从多本书中进行选择以添加到他的阅读列表中。所选书籍显示在我的阅读列表页面上。我已经用 Flow Router 建立了路由系统。
问题:一切都按预期工作。我可以在第一页选择书籍。所选书籍显示在第二页。但是当我回到第一页添加更多书籍或查看选定的书籍时,所有复选框都像新的一样新鲜。
- 这在 Meteor 中是正常的还是我错过了什么?
- 如果这是正常的,如何在第 1 页和第 2 页之间来回切换时使复选框状态保持不变?
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
如何确保包含单独文件中的反应类?
javascript - 使用 Flow Router 检查用户是否存在于每条路由中
我在 Meteor 中有一个用户个人资料。
我正在使用流路由器。
我想检查用户是否存在于每条路线上。
我努力了
但它不起作用。
我猜是因为我还没有订阅用户收藏。
我怎样才能在路线中做到这一点?我应该使用
编辑
我尝试使用模板签入
但它只会user
使用用户对象或 null 的变量填充模板。
我想将 Flow Router 提供的 notFound 配置用于不存在的路由。我想这也可以应用于“不存在的数据”。
因此,如果路由路径是/users/:userId
且具有特定 userId 的用户不存在,则路由器应将该路由解释为无效路径。
meteor - 在 Meteor 中,如何仅为登录用户加载某些文件?
我正在尝试使用 Meteor 创建一个管理面板。我不想将任何与管理面板相关的 js 和 html 文件加载给普通用户。仅在用户登录时才需要加载它们。我该如何实现呢?(我使用 FlowRouter 来管理路线)
javascript - 流路由器参数在钩子和订阅中没有改变
我在用
添加projectId
到所有创建的任务并订阅具有指定的任务projectId
。
但是,当我更改projectId
with时FlowRouter.setParam( 'projectId' ... )
,我的钩子和订阅似乎projectId
没有改变。
我究竟做错了什么?我必须把它放在里面Tracker.autorun()
还是什么?是因为我使用onCreated
而不是onRendered
?
javascript - 在 Meteor 中使用 Flow Router 进行子导航
我有一个布局
我使用流路由器导航到设置:
但是我的设置页面由多个设置页面组成,所以我需要在设置页面上有一个菜单,以便用户可以导航到其他设置页面(即更改密码、更改名称等)。
我必须为每个设置页面设置路线,但我怎样才能在设置页面之间保留一个用于导航的侧边栏?
路线是
- /设置
- /设置/更改密码
- /设置/删除用户
等等
我认为用户应该能够在 route 的“主/基本设置页面”上更改他/她的名字/settings
。
我想我可以制作另一个带有侧边栏的布局页面,所以我可以设置路线
但我不太确定这是否是最好的方法。
javascript - 在 Meteor 中使用 Flow Router 对路由进行分组
在流路由器中,我有一些路由
- /项目/项目名称
- /项目/项目名称/任务
- /项目/项目名称/任务/已删除任务
- /projects/project-name/tasks/已完成的任务
- /项目/项目名称/任务/标签/学校
- /项目/项目名称/任务/标签/足球
- /项目/项目名称/任务/标签/培训
- /项目/项目名称/任务/标签/个人
- [...]
所以几乎我所有的路线都应该具有大部分相同的特征。
是否有任何技巧可以对我的路线进行分组,所以我现在必须检查项目是否存在于每条路线中,或者我是否可以说某些路线建立在其他路线之上,所以我不必为所有路线编写长路径路线?
我找到了 Flow Router,但它似乎不是完成我需要的正确工具。
javascript - 如果对象不存在,则重定向到 Meteor 中的不同路线
我有一条使用流路由器postDetail
的路径。/posts/:postId
我想检查帖子是否真的存在。如果帖子不存在,我想显示postList
路线。
我怎样才能做到这一点?我想我可以使用triggersEnter
;但是,数据是在模板中订阅的,所以也许我不能triggersEnter
在路由器中使用。
一种简单的方法是doesExists
使用模板助手中的变量填充模板,然后使用
但我认为这不是一个非常聪明的方法,因为我必须在很多不同的模板中这样做,而且我无法使用这种方法将用户重定向到 postList 路由。
meteor - 在流星中,如何等待订阅并在模板`rendered`函数中访问它们?
我FlowRouter
在我的应用程序中使用,并且是 Meteor 的新手。我已经像这样订阅了我的收藏:
我试图在rendered
函数中使用订阅,但它不起作用:
如果我正确,我必须等待订阅可用。我怎样才能做到这一点?我还需要在准备就绪时添加加载消息(或微调器)。我知道如何在 IronRouter 中执行此操作,但不使用 FlowRouter。