Backbone和Node Js,如何切换不同的视图?

时间:2014-03-15 01:26:41

标签: javascript jquery node.js mongodb backbone.js

我正在使用backbone.js,node js,express和mongodb处理应用程序。 已为我的某个实体创建了模型,集合和视图。在这种情况下产品。 使用.fetch函数我可以调用我的web api并成功检索collectionView中的所有元素。

server.js:

app.get( '/api/products', function( request, response ) {
    var regex = new RegExp(request.query.searchWord, 'i');  // 'i' makes it case insensitive
    return ProductModel.find().or([{ 'title': { $regex: regex }}, { 'description': { $regex:     regex }}]).exec( function( err, products) {
    if( !err ) {
        console.log("Server sending products...");
        console.log(adds);
        return response.send( products);
    } else {
        return console.log( err );
    }
});
});

在客户端,我有一个名为ProductList的集合,一个CollectionView,一个名为Product的模型和一个ProductView(Backbone)。

在我的客户端,骨干网的集合视图:

var app = app || {};
app.ProductListView = Backbone.View.extend({
    el: '#productsDiv',
    self: this,
    initialize: function(  ) {
        this.collection = new app.ProductList();
        this.collection.fetch({ data: $.param({ searchWord: ""}), reset: true});

这会正确返回使用api url的集合,我可以正确显示它。

此时我创建了第二个名为User的模型,需要它在屏幕上单击页面顶部的链接显示其视图。不应该回发。它应该是单页面应用程序。

我是否需要使用路由器在node.js上调用我的server.js" api / user" url并获取此数据?

使用node.js和backbone切换不同视图的最佳方法是什么?有什么建议吗?

提前谢谢。

0 个答案:

没有答案