0

私は現在、sammyjs + knockoutjs を使用して小さな SPA を開発しています。

ルーティング メカニズムを含む index.html と、id が「main」の div があります。

私が問題に縮小した私のサンプルには、パーシャルを使用して html ページをロードするページ 1 とページ 2 があります。特定の html ページにはノックアウト バインディングがあります。

問題: リンクを使用してページを切り替えると、ルーティングが常に起動するとは限りません。適切なリンクでページをリロードすると、問題なく起動してロードされます。

私はそれをJSBinに入れようとしました:

http://jsbin.com/ufOroze/3/edit?html,js,console,output

リンクをクリックすると、実際にはリモートの html ファイル (p1.html および p2.html) から一部のコンテンツが読み込まれますが、これは JSBin では機能しません。ともかく。常に起動されるとは限らない呼び出しと、コンソール上のリンクが表示されます。

また、サーバーの の下に例を置きます。そこには、例全体を含む zip ファイルへのリンクもあります: http://www.tomgrill.info/sammy_test/sammy_test.zip

誰でもアイデアはありますか?sammyjs の概念を誤解していますか? それともバグがありますか?

最高、トム

4

2 に答える 2

0

これを試してみてください:-

app = $.sammy('body', function (context) {
    this.get('#/', function () {
        console.log('Clicked');
        this.app.swap('sammy test');
    });
    this.get('#/:id', function () {
        console.log('Clicked');
        var id = this.params.id;
        ko.unapplyBindings($('#main'), false);
        this.partial('pages/' + id + '.html');
    });


});
于 2013-10-15T03:44:49.610 に答える