Как создать подстанции без маршрута в тлеющем угле.Яш 1.6.икс
Я хотел бы создать что-то вроде приложения admin, которое доступно на каждой странице моего существующего ember 1.6.приложение X. Он будет иметь свой собственный state-machine (маршрутизатор), позволяющий ему загружать различные контроллеры/шаблоны в зависимости от его собственного состояния. Я видел много подобных дискуссий, которые вращаются вокруг наличия нескольких государственных машин (маршрутизаторов) или широкого использования подмаршрутов, но ничего действительно не попало в точку.
Есть ли ясный способ создать то, что находится в эффект двух приложений ember на одной странице?
Вложенному приложению не обязательно иметь маршруты, которые интерпретируются в строке url. Он также не должен поддерживать свое состояние, когда родительское приложение изменяет маршруты / состояния. Его можно сбрасывать каждый раз, когда родительское приложение переходит на другой маршрут. Чего я хочу избежать, так это повторения одного и того же кода снова и снова внутри нескольких контроллеров в Родительском приложении. Я также хотел бы избежать загрязнения приложений или глобальных уровней.
Ниже приведен список обсуждений, которые я изучил. Самое близкое, что я могу найти, что имеет смысл, - это работа над потоками Эмбера (которая еще не закончена). Или я должен буквально смотреть на создание новой государственной машины с помощью плагина 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
Посылаю действие Эмберу.StateManager: is goToState обязательно?
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
3 ответа:
Вы можете запускать несколько приложений встроенный изолированный Уголек внутри другого приложения Эмбер.
Встроенное приложение Ember может управлять состоянием URL, как и любое другое приложение, или вы можете настроить его на состояния маршрутизации , но не взаимодействуют с URL.
Взгляните на документацию по встраиванию приложений.
Отрывок:
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;
Я думаю, вы можете использовать query-params я не получил ваш вариант использования полностью, но проверить это http://instructure.github.io/ic-tabs/query-params.html#/?country=2&food=2