web端组件接入

chameleon允许在web端多态组件中直接引入原生vue组件,一方面是为了增加代码重用度,另一方面则是方便渐进式地迁移使用chameleon。

为什么要接入web端组件

chameleon作为跨端框架,将各端相同性及差异性进行统一封装形成chameleon的规范,但即使是这样,我们也没有办法百分百地避免差异,这样的差异可能来自产品的要求、技术的实现等等,由此chameleon提出了组件多态协议,在多态组件实现中,直接引用原生组件,降低开发成本。

怎么引入web端组件

在chameleon中使用组件只需要在组件配置中写入依赖的子组件,下面是web端组件引用vue单文件组件的示例:

<!-- index.cml -->
<template>
  <v-list></v-list>
</template>
...
<script cml-type="json">
  {
    "base": {
      "usingComponents": {
        "v-list": "/components/vue-components/v-list"
      }
    }
  }
</script>
<!-- components/vue-components/v-list.vue -->
<template>
  <ul>
    <li v-for="l in list">{{l}}</li>
  </ul>
</template>
<script>
export default {
  props: {
    list: {
      type: Array,
      default: function() {
        return [1, 2, 3, 4]
      }
    }
  }
}
</script>

需要注意的是组件路径需要写到.vue层级,但是不带后缀。

示例

详细示例戳这里多态组件扩展

results matching ""

    No results matching ""