2

私は自分のウェブサイトの管理パネルを開発していて、ノックアウトとサミーでそれを行うことにしました。しかし、私はルーティングの問題に直面しています。私は2つのページを持っています:

http://localhost/admin/element and http://localhost/admin/category. 

私の要素ページには、次のサミー設定があります。

Sammy(function() {
            this.get('#:currentpage', function() {
                self.reloadPage(this.params.currentpage);
            });

            this.get('', function() {
                this.app.runRoute('get', '#1');
            });
        }).run();

すべてが完璧に機能しますが、別のページに移動しようとすると(通常のリンク、たとえばカテゴリの編集)、同じページの空のルートにたどり着くため、リンクのある別のページに移動できません。それを修正する方法はありますか?

4

2 に答える 2

4

Sammy構成で''を使用しないでください。代わりに、ルートページには「/」を、要素には「/ admin/element」を試してください。

var Router = function() {
    var sammy = new Sammy.Application(function() {

            this.get('#:currentpage', function(context) {
                alert(context.params.currentpage);
            });

            this.get('/admin/element', function () {
                this.app.runRoute('get', '#1');
            });

        }),
        run = function() {
            sammy.run();
        };

    return {
        run: run
    };
};

$(function() {
    var r = new Router();
    r.run();
});

PS:この例では、Sammy0.7.1のバージョンを使用しています。バージョン0.6.3では、別の動作があります。

于 2012-12-26T15:28:42.323 に答える
0

これは、アクション リンクがあり、クリックして別のページに移動したい場合に機能します。

`<li>@Html.ActionLink("Admin Action Link Test", "Admin", "Home")</li>
this.get('/Home/Admin', function ()
                {
                    location.assign("/Home/Admin");
                });`   

または、ハッシュを使用してこれを行うことができます

<li><a href="#/Home/About">About Full Path</a></li>  
this.get('#/Home/About', function ()
                {                       
                    location.assign("/Home/About");                   
                });
于 2013-02-25T03:15:03.280 に答える