利用vue.js插入dom节点的方法


Posted in Javascript onMarch 15, 2017

本文主要介绍的是vue.js插入dom节点的方法,下面话不多说,来看看详细的介绍吧。

html代码:

<div id="app"></div>

js代码:

var MyComponent = Vue.extend({
 template: '<div>Hello World</div>'
})
var myAppendTo = Vue.extend({
template:'<p>appendTo</p>'
})
var myBefore = Vue.extend({
 template:'<p>before</p>'
})
var myAfter = Vue.extend({
 template:'<p>after</p>'
})
// 创建并挂载到 #app (会替换 #app)
new MyComponent().$mount('#app');

// 手动挂载
new myAppendTo().$mount().$appendTo('#app');//appendTo
new myBefore().$mount().$before('#app');//before
new myAfter().$mount().$after('#app');//after

说明:

      1.对比jquery的dom节点的插入方式,vue.js的插值需要使用先new创建一个实例然后通过$mount()

      2.手动挂载到dom节点中,然后使用$appendTo/$before/$after等方法进行插值。

      3.这种操作dom的思想其实并不是vue提倡的方式,而vue提倡的方式是通过操作数据来完成你想要的结果。

      4.vue的思想是这个dom已经存在,通过判断可以控制它显示隐藏。

      5.所以使用vue的时候,要试着转变一下使用jquery的时候那种思想就像api提供的这种方法 (v-if)。

<ul>
 <li v-if="ok">显示</li>
 <li v-else>隐藏</li>
</ul>

也可以通过(v-show)来控制显示隐藏:

<ul>
 <li v-show="ok">显示</li>
</ul>

那么v-if和v-show的区别:

在切换 v-if 块时,Vue.js 有一个局部编译/卸载过程,因为 v-if 之中的模板也可能包括数据绑定或子组件。

v-if 是真实的条件渲染,因为它会确保条件块在切换当中合适地销毁与重建条件块内的事件监听器和子组件。

v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——在条件第一次变为真时才开始局部编译(编译会被缓存起来)。

相比之下,v-show 简单得多——元素始终被编译并保留,只是简单地基于 CSS 切换。

一般来说,v-if 有更高的切换消耗而 v-show 有更高的初始渲染消耗。因此,如果需要频繁切换 v-show 较好,
如果在运行时条件不大可能改变 v-if 较好。

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery属性选择器not has怎么写 行悬停高亮显示
Nov 13 Javascript
jquery iframe操作详细解析
Nov 20 Javascript
javascript中Date对象的getDay方法使用指南
Dec 22 Javascript
jQuery实现页面滚动时动态加载内容的方法
Mar 20 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
May 17 Javascript
基于jQuery实现Tabs选项卡自定义插件
Nov 21 Javascript
JS中Array数组学习总结
Jan 18 Javascript
关于页面刷新vuex数据消失问题解决方案
Jul 03 Javascript
jquery.picsign图片标注组件实例详解
Feb 02 jQuery
详解js的作用域、预解析机制
Feb 05 Javascript
animate.css在vue项目中的使用教程
Aug 05 Javascript
jQuery实现动态添加和删除input框实例代码
Mar 26 jQuery
js实现彩色条纹滚动条效果
Mar 15 #Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
Mar 15 #Javascript
jQuery阻止移动端遮罩层后页面滚动
Mar 15 #Javascript
字太多用...代替的方法(两种)
Mar 15 #Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
Mar 15 #Javascript
vue.js 1.x与2.0中js实时监听input值的变化
Mar 15 #Javascript
js仿淘宝商品放大预览功能
Mar 15 #Javascript
You might like
PHP:风雨欲来 路在何方?
2006/10/09 PHP
php创建多级目录代码
2008/06/05 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
PHP中的替代语法介绍
2015/01/09 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
javascript函数中的arguments参数
2010/08/01 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
原始的js代码和jquery对比体会
2013/09/10 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
JS与jQuery遍历Table所有单元格内容的方法
2015/12/07 Javascript
jQuery each函数源码分析
2016/05/25 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
2017/09/12 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
Python中的rfind()方法使用详解
2015/05/19 Python
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
python输出数学符号实例
2020/05/11 Python
django的autoreload机制实现
2020/06/03 Python
数据库方面面试题
2012/04/22 面试题
初中同学会活动方案
2014/08/22 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
作文评语集锦
2014/12/25 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang