2

私の人生では、durandaljs を Areas で動作させることはできません。複数のミニ SPA を使用してアプリケーションを開発していますが、それを使用するように durandaljs をセットアップする方法がわかりません。私を正しい方向に導くことができるものをオンラインで見つけることができませんでした. 私が見つけた唯一の同様の質問は、非常にあいまいなthis oneでした。

私の目標は、次のように、各SPAを独自のフォルダー内で分離することです。

App
--areas
----area1
------viewmodels
------views
----area2
------viewmodels
------views

durandal でマッピングを取得しようとした後に呼び出したときにareas取得するルートをどのようにマッピングしても、ルーターには and の概念がないようです。404srouter.activate('page1');router.mapRoute('page1');/App/viewmodels/page1.js

次のように変更します。

router.mapRoute('areas/area1/viewmodels/page1');
router.activate('areas/area1/viewmodels/page1');

別の404フェッチApp/viewmodels/areas/area1/viewmodels/page1.js が発生します。他の多くの組み合わせも試しましたが、覚えていないため、機能しないようです。

ルーター プラグインと複数のミニ SPA (エリア) を使用して durandaljs をセットアップする方法の実例を投稿してもらえますか? 記事ドキュメントへのリンクでも十分です。

4

2 に答える 2

1

私は私のアプリケーションに実装された同様の構造です。viewLocator が適切に機能するには、このコードを配置する必要があると思います。

viewLocator.useConvention(); //You can do that in you main.js

詳細については、http: //durandaljs.com/documentation/View-Locator/を参照してください。

また、viewLocator.js のコード、特に useConventionMethod のコードを確認することをお勧めします。

他の可能性は、メソッド convertModuleIdToViewId をオーバーライドして、必要に応じて機能させることです。しかし、useConvention メソッドを使用するだけで十分だと思います。

于 2013-05-02T17:33:08.340 に答える