1

pagerjs とノックアウトを使用してアプリを正しく構成する方法を理解するのに苦労しています。各ページ参照に個別のビューモデルを含めることを検討しています。

私の index.html の例の中の 3 つのページは次のとおりです。

         <div data-bind="page: {
                            id: 'page_1', 
                            title: 'page 1', 
                            source: 'views/page1.html',
                            with: page1ViewModel
                            }">
            </div>

            <div data-bind="page: {
                            id: 'page_2', 
                            title:'Page 2', 
                            source: 'views/page2.html',
                            with: page2ViewModel
                            }">
            </div>

            <div data-bind="page: {
                            id: 'page_3', 
                            title:'Page 3', 
                            source: 'views/page3.html',
                            with: page3ViewModel
                            }">
            </div>

したがって、ページのhtmlをviewsフォルダーに分割すると、これはうまく機能します。私が理解するのに本当に苦労しているのは、すべてのビューモデルを別々のファイルに保存する方法と、それが pagerjs でどのように機能するかです。

「main.js」で 1 つのビューモデルのみを使用していた場合、次のようになります。

function viewModel() {

}

var viewModel = new viewModel();
// use #!/ instead of the default #
pager.Href.hash = '#!/';

// extend viewModel with a $__page__ that points to pager.page that points to a new Page
pager.extendWithPage(viewModel);
// apply your bindings
ko.applyBindings(viewModel);
// run this method - listening to hashchange
pager.start();

ビューモデルの論理的な分離を使用してこれを構造化する際の助けをいただければ幸いです。

4

1 に答える 1

0

完全なサンプル サイトはこちら: https://github.com/maxfridbe/WindowKO-TS-JS/tree/master/CleanWeb

基本的にノックアウトポケットベルとタイプスクリプト

私はページをラップします: makepage() を独自の makepage バインディングでラップします。これは、宣言規則ベースの構造を取ります: つまり、makepage('bob') はこの構造を持っています

!#/bob を配置します

/area folder

    /views folder

   /view models folder
于 2014-08-23T13:01:57.217 に答える