3

バックボーン ルーターで 1 つのアクションを作成します。

 routes: {
    "showCart": "cartList",
 }
 .....
 app_router.on('route:cartList', function (showCart) {
    var cartListView = new CartList();
    cartListView.render();
 });

次に、そのアクションでレンダリングするビューが 2 つ以上あります。

var SignInView = Backbone.View.extend({
    el : $("#rightpanel"),
    initialize:function(){
        this.render();
    },
    render:function(){
        var template = _.template(signinTemplate, {})
        this.$el.html(template);
    }
});
return SignInView;

var CartListView = Backbone.View.extend({
    el : $("#cartlist"),
    initialize:function(){
        this.render();
    },
    render: function(){
        var item = deserializeJSONToObj(window.localStorage.getItem("Cart"));
        var str = '<table>';
        $.each(item, function(i, item) {
            str += '<tr><td><img src="' + item.PictureName + '" alt="Product" width="135px"/></td><td>'+item.Name+'</td></tr>';
        });
        str += '</table>';
        this.$el.html(str);
    }
});
return CartListView;

ルーターでこれら 2 つのビューを 1 つのアクションにバインドするにはどうすればよいですか?

どんな助けでも大歓迎です。

4

1 に答える 1

2

ルーターに変更を加える

 routes: {
    "showCart": "cartList",
 }
 .....
 app_router.on('route:cartList', function (showCart) {
    var workView = new WorkView();
    workView.render();
 });

そして WorkView という名前のビューを作成します。

var WorkView= Backbone.View.extend({

    initialize:function(){

    },
    render:function(){
        var signInView = new SignInView ();
        var cartListView = new CartList();
    }
});
于 2013-09-30T08:48:06.127 に答える