基于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 相关文章推荐
jQuery 性能优化指南(3)
May 21 Javascript
关于js获取radio和select的属性并控制的代码
May 12 Javascript
jQuery控制图片的hover效果(smartRollover.js)
Mar 18 Javascript
jquery获得keycode的示例代码
Dec 30 Javascript
全面解析Bootstrap排版使用方法(标题)
Nov 30 Javascript
浅析JavaScript声明变量
Dec 21 Javascript
Hallo.js基于jQuery UI所见即所得的Web编辑器
Jan 26 Javascript
基于javascript实现listbox左右移动
Jan 29 Javascript
浅谈JavaScript事件绑定的常用方法及其优缺点分析
Nov 01 Javascript
JavaScript运动框架 多物体任意值运动(三)
May 17 Javascript
Javascript调试之console对象——你不知道的一些小技巧
Jul 10 Javascript
js对象简介与基本用法示例
Mar 13 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
PHP XML备份Mysql数据库
2009/05/27 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
PHP pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
如何实现JS函数的重载
2006/09/22 Javascript
ppk谈JavaScript style属性
2008/10/10 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
使用javascipt---实现二分查找法
2013/04/10 Javascript
js中iframe调用父页面的方法
2014/10/30 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
JavaScript实现简洁的俄罗斯方块完整实例
2016/03/01 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
node+multer实现图片上传的示例代码
2020/02/18 Javascript
go语言计算两个时间的时间差方法
2015/03/13 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
英国最大的奢侈珠宝和手表网站:C W Sellors
2017/02/10 全球购物
美国网上花店:JustFlowers
2017/02/12 全球购物
公司清洁工岗位职责
2013/12/14 职场文书
模范家庭事迹材料
2014/02/10 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
作风建设整改方案
2014/10/27 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP
golang操作rocketmq的示例代码
2022/04/06 Golang