基于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吗?
Feb 24 Javascript
CSS JavaScript 实现菜单功能 改进版
Dec 09 Javascript
IE无法设置短域名下Cookie
Sep 23 Javascript
6款经典实用的jQuery小插件及源码(对话框/提示工具等等)
Feb 04 Javascript
jquery select多选框的左右移动 具体实现代码
Jul 03 Javascript
jquery实现图片裁剪思路及实现
Aug 16 Javascript
jQuery实现动画效果的简单实例
Jan 27 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
vue获取验证码倒计时组件
Aug 26 Javascript
p5.js临摹动态图形实现方法详解
Oct 23 Javascript
vue 通过base64实现图片下载功能
Dec 19 Vue.js
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中使用sockets:从新闻组中获取文章
2006/10/09 PHP
PHP 中文乱码解决办法总结分析
2009/07/30 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
PHP的PDO连接讲解
2019/01/24 PHP
YII框架http缓存操作示例
2019/04/29 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
不要使用jQuery触发原生事件的方法
2014/03/03 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
2015/11/09 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
2016/04/14 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
javascript中闭包概念与用法深入理解
2016/12/15 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
详解React之父子组件传递和其它一些要点
2018/06/25 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
2018/08/20 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python3字符串学习教程
2015/08/20 Python
利用Django内置的认证视图实现用户密码重置功能详解
2017/11/24 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
python装饰器常见使用方法分析
2019/06/26 Python
使用python实现男神女神颜值打分系统(推荐)
2019/10/31 Python
python绘制动态曲线教程
2020/02/24 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
澳大利亚最受欢迎的美发和美容在线商店:Catwalk
2018/12/12 全球购物
肯尼迪就职演说稿
2013/12/31 职场文书
公务员转正考察材料
2014/02/07 职场文书
王老吉广告词
2014/03/20 职场文书
物业公司的岗位任命书
2014/06/06 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
典型事迹材料范文
2014/12/29 职场文书
党员活动总结
2015/02/04 职场文书