1.0.7 • Published 1 year ago

vue-complier-template v1.0.7

Weekly downloads
-
License
-
Repository
github
Last release
1 year ago

实现 vue 组件的实时修改实时运行

类似 ElementUi 文档的组件示例效果并可实时调试


安装

npm install vue-complier-template
npm install @vue/compiler-sfc@3.2.41

用法

// main.js
import Vue from "vue";
import { parse } from "@vue/compiler-sfc";
import vueComplierTemplate from "vue-complier-template";
Vue.use(vueComplierTemplate, {
  parseCode: parse,
  evalScript: (value) => window.eval(value),
});

vue.config.js

module.exports = {
  // 开启 runtime
  runtimeCompiler: true,
};
// example-source-code.js
export default `<script>
  export default {
    data() {
      return {
        tableData: Array(6).fill('').map((_, index) => ({
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519弄'
        }))
      }
    }
  }
</script>

<template>
  <el-table :data="tableData" border>
    <el-table-column prop="date" label="日期" width="180"/>
    <el-table-column prop="name" label="姓名" width="180"/>
    <el-table-column prop="address" label="地址" />
  </el-table>
</template>
`;
<!-- example.vue -->
<template>
  <div id="app">
    <vue-complier-template v-model="codeValue" />
    <textarea v-model="codeValue" />
  </div>
</template>

<script>
  import codeValue from "path/to/example-source-code.js";
  export default {
    name: "App",
    data: () => ({ codeValue }),
  };
</script>

Options

参数说明类型可选值默认值
valuevalue / v-model 绑定值string--
render接管组件内部 renderFunction({ h, descriptor })--
renderErrorvalue 解析失败内容渲染函数Function({ h, error, descriptor })--
renderEmptyvalue 为空时内容渲染函数Function({ h, descriptor })--
parseCode解析 vue 模板数据(必填)Function(value)--
evalScript解析 script 字符串(必填)Function(value)--
parseStylesvalue 解析出的 style 标签内的内容, 抛出数据调用方自定义处理Function({ styles, vm })--

codesandbox

Edit vue-complier-template-example

Live Demo

在线体验

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago