基于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 相关文章推荐
变量声明时命名与变量作为对象属性时命名的区别解析
Dec 06 Javascript
javascript中的括号()用法小结
Apr 14 Javascript
javascript中基本类型和引用类型的区别分析
May 12 Javascript
javascript原型模式用法实例详解
Jun 04 Javascript
详解JavaScript ES6中的模板字符串
Jul 28 Javascript
JavaScript中this详解
Sep 01 Javascript
javascript定义类和类的实现实例详解
Dec 01 Javascript
jquery基础知识第一讲之认识jquery
Mar 17 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
对angularJs中ng-style动态改变样式的实例讲解
Sep 30 Javascript
layui内置模块layim发送图片添加加载动画的方法
Sep 23 Javascript
基于Vue实现微前端的示例代码
Apr 24 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中操作MySQL数据库的一些要注意的问题
2006/10/09 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
PDO::commit讲解
2019/01/27 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
chrome原生方法之数组
2011/11/30 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
AngularJS执行流程详解
2017/02/17 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
vue实现文字加密功能
2019/09/27 Javascript
python支持断点续传的多线程下载示例
2014/01/16 Python
Python 多线程Threading初学教程
2017/08/22 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
python isinstance函数用法详解
2020/02/13 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
总经理秘书工作职责
2013/12/26 职场文书
实习公司领导推荐函
2014/05/21 职场文书
遵纪守法演讲稿
2014/05/23 职场文书
法学专业求职信
2014/07/15 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
python实现简单的聊天小程序
2021/07/07 Python