基于vue2.0动态组件及render详解


Posted in Javascript onMarch 17, 2018

如下所示:

<template>
 <div class="hello">
 <h1>{{ msg }}</h1>
 <h2>这里是Boor</h2>
 <component v-bind:my-data="items" v-bind:is="currentView">
  <!-- 组件在 vm.currentview 变化时改变! -->
 </component>
 <a class="explain">直直</a>
 <button v-on:click="addData">点击</button>
 </div>
</template>
<script>
 //import $ from '@/assets/scripts/lib/zepto.min'
 //console.log($);
 //import Vue from 'vue'
 function isEmptyObject(e) {
 var t;
 for (t in e)
  return !1;
 return !0
 }
 function objectLength(o) {
  var len = 0;
  for(var p in o) {
   len++;
  }
  return len;
 }
 let data ={
  c_0:{c:1},
  c_1:{c:2},
  c_2:{c:3},
  c_3:{c:4}
 };
 let num = 0;
 //console.log(objectLength(data));
 const MyComponent = {
 //template: '<h3 v-for="item in items">{{ item.c}}</h3>',
 props: ['myData'],
 data(){
  return{
  //items : myData
  }
 },
 render: function (createElement) {
  debugger;
  let items = this.myData;
   //items = JSON.stringify(items);
  let num = objectLength(items);
 if (!isEmptyObject(items)) {
  debugger;
  return createElement('div', Array.apply(null, { length: num }).map(function (v,index) {
  return createElement('h3', items['c_'+index]['c'].toString())
  }))
 } else {
  return createElement('h1', '没有数据!');
 }
 }
 };
 // 注册
 //Vue.component('my-component', MyComponent);
export default {
 name: 'bar',
 data () {
 return {
  msg: 'Bar',
  fuck: 'Hello',
  items: data,
  currentView: MyComponent
 }
 },
 methods:{
 addData : function(){
  for(let p in data) {
   if(p == 'c_'+num) {
    data[p] = {'c': num };
   } else {
    data['c'+num] = {'c': num };
   }
  }
  num++;
 }
 }
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
 font-weight: normal;
}
ul {
 list-style-type: none;
 padding: 0;
}
li {
 display: inline-block;
 margin: 0 10px;
}
a {
 color: #42b983;
}
</style>

以上这篇基于vue2.0动态组件及render详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript学习笔记1 数据类型
Jan 11 Javascript
Javascript全局变量var与不var的区别深入解析
Dec 09 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
May 14 Javascript
jQuery知识点整理
Jan 30 Javascript
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形菜单
Nov 30 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
Dec 22 Javascript
JS判断图片是否加载完成方法汇总(最新版)
May 13 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
微信小程序中遇到的iOS兼容性问题小结
Nov 14 Javascript
利用vue-i18n实现多语言切换效果的方法
Jun 19 Javascript
Vite + React从零开始搭建一个开源组件库
Jun 25 Javascript
Vue实现动态创建和删除数据的方法
Mar 17 #Javascript
JS实现将链接生成二维码并转为图片的方法
Mar 17 #Javascript
基于vue1和vue2获取dom元素的方法
Mar 17 #Javascript
解决vue页面DOM操作不生效的问题
Mar 17 #Javascript
vue中实现先请求数据再渲染dom分享
Mar 17 #Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
Mar 17 #Javascript
vue获取当前激活路由的方法
Mar 17 #Javascript
You might like
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
php实现映射操作实例详解
2019/10/02 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
js分页代码分享
2014/04/28 Javascript
JS实现一个按钮的方法
2015/02/05 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
bootstrap PrintThis打印插件使用详解
2017/02/20 Javascript
通过命令行创建vue项目的方法
2017/07/20 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
快速处理vue渲染前的显示问题
2018/03/05 Javascript
vue中的mvvm模式讲解
2019/01/31 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
Python实现身份证号码解析
2015/09/01 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
获取python文件扩展名和文件名方法
2018/02/02 Python
python web自制框架之接受url传递过来的参数实例
2018/12/17 Python
python调用动态链接库的基本过程详解
2019/06/19 Python
python全局变量引用与修改过程解析
2020/01/07 Python
python线程join方法原理解析
2020/02/11 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
使用canvas压缩图片上传的方法示例
2020/02/07 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
通信生自我鉴定
2014/01/18 职场文书
安全大检查反思材料
2014/01/31 职场文书
冰淇淋店的创业计划书
2014/02/07 职场文书
临时租车协议范本
2014/09/23 职场文书
小学假期安全广播稿
2014/09/28 职场文书