4

Emberをウィジェット アプローチ (分離したコンポーネント) で使用し、Ember アプリケーションの rootElement を設定し
、それぞれに独自のルーターとストア (必要な場合) を設定します。

http://jsfiddle.net/4xWep/2/で失敗しました が、ルーター インスタンス間に干渉の問題がある可能性があります。さまざまなアプリケーションとルーターを使用して、このウィジェットアプローチを理解していますか?

App1 = Ember.Application.create({
  rootElement: '#app1'
});

App1.ApplicationController = Ember.Controller.extend();
App1.ApplicationView = Ember.View.extend({
  templateName: 'app1-view'
})

App1.Router = Ember.Router.extend({...})

var App2 = Ember.Application.create({
    rootElement: '#app2'
});

App2.ApplicationController = Ember.Controller.extend();
App2.ApplicationView = Ember.View.extend({
  templateName: 'app2-view'
})

App2.Router = Ember.Router.extend({...})
4

1 に答える 1

2

location.hash問題は、状態をシリアル化するためにを使用して 2 つのアプリケーションのルーターが競合することです。

ハッシュ ルーティングの永続化戦略に依存する 2 つのアプリケーションを同じページに配置することはできません。

あなたが達成しようとしているのは、古典的な「ウィジェット」ではないように思えます.複雑な状態になるためです(それぞれの内部のルーティングの意志によって示されます) ...確かに、もう少し掘り下げる必要がありますあなたのアーキテクチャ。おそらく、必要なのは 2 つのアプリケーションではなく、ウィジェット、または複数のアプリケーションですが、同じドキュメントに直接レンダリングされるわけではありません。

たぶん、この(関連する?)質問が役立ちます。

于 2012-10-17T14:53:13.083 に答える