0

我正在创建一个应用程序来获得一些jQuery Mobile骨干方面的经验。我用node.js制作了一个“restful” API来处理我需要的数据。它适用于我在 index.html 中制作的所有静态页面。但是当我需要创建一个包含某个数据的页面时,id我有点迷失了。

例如,当我想显示所有项目(/项目)时,我有一个列出所有项目data-role=pageid项目,但是当我需要转到每个项目的详细页面(/项目/1)时,我想在任何时候创建该详细信息页面用户想要项目的详细信息,换句话说,例如当用户访问 url spot#3 时。

这可能吗?

我的路由器:模型为我提供了我想要的所有数据

Spoter.Router = Backbone.Router.extend({

    routes: {
        "":             "",
        "spot#:id":     "spotDetails" 

    },

    //Details on a certain spot with id
    spotDetails: function(id) {

        var spotDetailsContentDiv = Spoter.spotDetailsContent;
        spotDetailsContentDiv.empty();

        var spot = new Spoter.spotModel({id: id});
        spot.fetch({

            successCallback: function(data) {

                var spotDetailsView = new Spoter.spotDetailsView({

                    model: data
                });

                spotDetailsContentDiv.html(spotDetailsView.render().el);

            }

        });


    }

}); 

看法:

Spoter.spotDetailsView = Backbone.View.extend({

    render:function () {

        this.$el.html(this.template(this.model));
        return this;
    }
});

带下划线的模板

<ul data-role="listview" data-theme="c" data-inset="true">
        <li>
            <a href="#">
            <h1><%= this.model.name %></h1>
            <p><%= this.model.description %></p>
            </a>
        </li>
</ul>
4

0 回答 0