gpt4 book ai didi

javascript - 如何在 ember.js 1.6.x 中创建无路由子状态

转载 作者:搜寻专家 更新时间:2023-11-01 04:25:08 24 4
gpt4 key购买 nike

我想创建类似管理子应用程序的东西,它在我现有的 ember 1.6.x 应用程序的每个页面上都可用。它将拥有自己的状态机(路由器),允许它根据自己的状态加载不同的 Controller /模板。我已经看到很多类似的讨论都围绕着拥有多个状态机(路由器)或广泛使用子路由展开,但没有什么是真正一针见血的。

是否有明确的方法可以在同一页面上创建两个 ember 应用程序的效果?

子应用程序实际上不需要在 url 栏中解释路由。当父应用程序更改路由/状态时,它也不需要维护它的状态。每次父应用程序更改为不同的路线时,它都可以重置。我想避免的是在父应用程序的多个 Controller 中一遍又一遍地重复相同的代码。我还想避免污染应用程序或全局级别。

下面是我调查过的讨论列表。我能找到的最有意义的事情是关于 ember 流的工作(尚未完成)。或者我真的应该考虑通过子应用程序的 ember-states 插件创建一个新的状态机吗?

需要说明的是,我并不是在找人为我编写代码。只是讨论如何使用当前可用的 ember 1.6.x 完成此操作。

http://discuss.emberjs.com/t/route-less-substates/2269

http://discuss.emberjs.com/t/is-there-a-reason-we-can-not-have-nested-routes/1845

Sending action to Ember.StateManager : is goToState mandatory?

https://github.com/emberjs/ember.js/issues/406

https://github.com/emberjs/ember.js/issues/4767

http://discuss.emberjs.com/t/concurrent-states-in-ember/5042

https://github.com/nathanhammond/ember-flows-generator

https://github.com/emberjs/ember.js/issues/406#issuecomment-3702356

最佳答案

您可以在另一个 Ember 应用程序中运行多个嵌入式独立的 Ember 应用程序。

嵌入式 Ember 应用可以像任何其他应用一样操作 URL 状态,或者您可以将其配置为路由状态但不与 URL 交互。

看看embedding applications documentation .

摘录:

App = Ember.Application.create({
rootElement: '#app'
});

App.Router = Ember.Router.extend({
location: 'none' // To disable manipulating URL
});

您还可以在应用之间共享代码。例如共享 Ember 数据模型。

var MainApp     = Ember.Application.create({});
var AdminApp = Ember.Application.create({rootElement: '#admin-container'});

AdminApp.Router = Ember.Router.extend({location: 'none'});

MainApp.User = DS.Model.extend({});
AdminApp.User = MainApp.User;

关于javascript - 如何在 ember.js 1.6.x 中创建无路由子状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25222053/

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