组件的两种写法

有两种方式可以进行组件的定义,得到的都是组件类。San-SSR 在使用他们时有一定的区别

san.defineComponent

san.defineComponent({
    components: { 'my-component': container },
    template: `<my-component>aaa{{name}}<span></span></my-component>`
})

class

class MyComponent extends san.Component {
    static components = { 'my-component': container }
    static template = `<my-component>aaa{{name}}<span></span></my-component>`
}

区别

推荐使用 san.defineComponent 来定义组件,如果使用 class,则所有与 San-SSR 有关的属性都需要为 static

这是因为在编译阶段 San-SSR 需要能够从类上直接获取到 template、components 等属性。