gpt4 book ai didi

ember.js - 在路由之间传递隐藏参数

转载 作者:行者123 更新时间:2023-12-03 22:21:57 25 4
gpt4 key购买 nike

我对 Ember.js 很陌生,正在尝试创建一个我需要浏览日期和记录隐私的应用程序

我想做的是,我需要通过 ember 路由传递一个变量值而不在 url 上显示它

appcication_routes.js.coffee

App.Router.map ->
@resource 'user', { path: '/user/:user_id' }, ->
@resource 'user_feed', { path: '/feed' }, ->
@route 'posts', { path: '/:date' }

user_routes.js.coffee

App.UserFeedIndexRoute = App.Route.extend
activate: ->
controller = @controllerFor('user_feed.index')
controller.set 'checkPrivate', false
redirect: ->
@transitionTo 'user_feed.posts', @modelFor('user'), 'today'

App.UserFeedPostsRoute = App.Route.extend
activate: ->
controller = @controllerFor('user_feed.posts')
model: (params) ->
...

对于从 Controller 的转换,我使用下面的字符串

@transitionToRoute 'user_feed.posts', @get('user'), newDateString

我需要将 checkPrivate 的值传递给 UserFeedPosts 但不向 url 显示它,我还需要在日期更改或 checkPrivate 值更改时再次调用路由。

我用谷歌搜索了很多,但结果为零。

最佳答案

您可以使用共享 Controller ( Ember Guide ) 来保存私有(private)变量的状态。

App.ApplicationController = Em.Controller.extend({
checkPrivate: null
});

然后,如果您想在特定 Controller 中访问该值,您可以使用needs 导入它。

App. UserFeedPostsController = Em.ArrayController.extend({
needs: ['application']
});

App.ApplicationController = Em.Controller.extend({
needs: ['application']
});

如果您的情况不需要从其他 Controller 访问数据,您始终可以从任何路径访问特定 Controller :

this.controllerFor('application');

关于ember.js - 在路由之间传递隐藏参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23624267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com