基于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 相关文章推荐
JS继承 笔记
Jul 13 Javascript
jQuery不兼容input的change事件问题解决过程
Dec 05 Javascript
CascadeView级联组件实现思路详解(分离思想和单链表)
Apr 12 Javascript
jQuery实例—选项卡的简单实现(js源码和jQuery)
Jun 14 Javascript
AngularJs Understanding the Model Component
Sep 02 Javascript
探索Vue高阶组件的使用
Jan 08 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
Mar 01 Javascript
Node.js Event Loop各阶段讲解
Mar 08 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 Javascript
微信小程序3D轮播实现代码
Sep 19 Javascript
浅析vue-router实现原理及两种模式
Feb 11 Javascript
JavaScript实现简单进度条效果
Mar 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文件下载类
2006/12/06 PHP
简单实现PHP留言板功能
2016/12/21 PHP
PHP检测数据类型的几种方法(总结)
2017/03/04 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
jquery导航制件jquery鼠标经过变色效果示例
2013/12/05 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
IE中document.createElement的iframe无法设置属性name的解决方法
2015/09/14 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
[08:54]《一刀刀一天》之DOTA全时刻18:十九支奔赴西雅图队伍全部出炉
2014/06/04 DOTA
[41:54]2018DOTA2亚洲邀请赛 4.1 小组赛A组加赛 TNC vs Liquid
2018/04/03 DOTA
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
Python 多线程的实例详解
2017/09/07 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
2019/12/25 Python
python微信公众号开发简单流程实现
2020/03/09 Python
高中毕业的自我鉴定
2013/12/09 职场文书
助残日活动总结
2014/08/27 职场文书
个人作风建设心得体会
2014/10/22 职场文书
2014年青年教师工作总结
2014/12/17 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
农村党支部承诺书
2015/04/30 职场文书