根据url动态创建jqueryMobile页面

时间:2013-07-04 12:56:01

标签: node.js jquery-mobile mobile backbone.js underscore.js

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

例如,当我想要显示所有项目(/项目)时,我有data-role=pageid个项目列出所有项目,但是当我需要转到每个项目的详细页面时( / items / 1)我想在用户想要有关项目的详细信息时创建该详细信息页面,换句话说,当用户访问网址#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>

0 个答案:

没有答案