2015-09-16 31 views

回答

2

編輯:有一個插件,使路由組件灰燼2.7及更高版本:https://github.com/mdehoog/ember-routable-components-shim


目前只有路由組件RFC的一小部分在灰燼金絲雀實現。 attributes掛鉤尚未實現。傳遞給可路由組件的唯一東西是從model鉤子返回的模型。

下面是一個示例實現:

  1. 創建路由組件(而不是控制器)。它必須是一個isGlimmerComponent

    // components/post.js 
    import Ember from 'ember'; 
    
    export default Ember.Component.extend({ 
        isGlimmerComponent: true, 
        componentProperty: 'componentValue' 
    }); 
    
  2. 創建路由組件模板:

    {{!-- templates/components/post.hbs --}} 
    Model property: {{model.modelProperty}}<br/> 
    Component property: {{componentProperty}} 
    
  3. 創建呈現您的路由部件的路由:

    // routes/post.js 
    import Ember from 'ember'; 
    
    export default Ember.Route.extend({ 
        renderTemplate: function() { 
        this.render({component: this.routeName}); //or you can explicitly name your component here 
        }, 
        model: function() { 
        return { 
         modelProperty: 'modelValue' 
        }; 
        } 
    }); 
    
  4. 路由添加到路由器.js正常:

    // router.js 
    Router.map(function() { 
        this.route('post', { path: '/post' }); 
    }); 
    
  5. 訪問/發佈現在應該呈現您的可路由組件。