Ember V1.0.0-pre.2:如何获取查询字符串参数

时间:2013-05-15 05:49:55

标签: ember.js

是否可以在pre2中获取查询字符串参数?

例如,我们希望转换到这样的路线:#/customer/CN-001其中CN-001将匹配/customer/:customernumber行的某些参数。

1 个答案:

答案 0 :(得分:0)

我认为这就是你想要的:

路由器:

App = Ember.Application.create({
    ApplicationController: Ember.ObjectController.extend(),
    CustomerController: Ember.ObjectController.extend(),
    Router: Ember.Router.extend({
        root: Ember.Route.extend({                        
            index: Em.Route.extend({    
                route: '/',
                connectOutlets: function(router) {
                    router.route('/customer/CN-001');
                }
            }),
            customer: Em.Route.extend({            
                route: '/customer/:customernumber',
                connectOutlets: function(router, customer) {                    
                    router.get("applicationController").connectOutlet('customer', customer);                    
                },
                serialize:  function(router, context){
                    return { id: context.number };
                },
                deserialize: function(router, params) {
                    return Ember.Object.create({ number: params.customernumber });
                }
            })            
        })
    })
});

App.CustomerView = Ember.View.extend({
    templateName: 'customer'
})

模板:

<script type="text/x-handlebars" data-template-name="application">    
    {{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="customer">
  <h2>Customer</h2>  
    {{number}}
</script>

Here是一个显示此工作的jsfiddle。 我希望它有所帮助。