利用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 相关文章推荐
JavaScript的parseInt 进制问题
May 07 Javascript
javascript实现文字图片上下滚动的具体实例
Jun 28 Javascript
JQuery插件fancybox无法在弹出层使用左右键的解决办法
Dec 25 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
jQuery中的siblings用法实例分析
Dec 24 Javascript
Angular路由简单学习
Dec 26 Javascript
jquery实现图片放大点击切换
Jun 06 jQuery
BootStrap的双日历时间控件使用
Jul 25 Javascript
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 Javascript
js DOM的事件常见操作实例详解
Dec 16 Javascript
Vue scoped及deep使用方法解析
Aug 01 Javascript
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通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
PHP页面实现定时跳转的方法
2014/10/31 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
2015/11/10 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
jquery的map与get方法详解
2013/11/04 Javascript
Jsonp post 跨域方案
2015/07/06 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
基于vue2.0的活动倒计时组件countdown(附源码下载)
2018/10/09 Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
2020/08/10 Javascript
python中enumerate的用法实例解析
2014/08/18 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
python3下载抖音视频的完整代码
2019/06/05 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
Django框架反向解析操作详解
2019/11/28 Python
利用pyecharts读取csv并进行数据统计可视化的实现
2020/04/17 Python
HTML5的Video标签有部分MP4无法播放的问题解析(多图)
2017/08/18 HTML / CSS
北美三大旅游网站之一:Travelocity
2017/08/12 全球购物
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
介绍一下你对SOA的认识
2016/04/24 面试题
小学生安全演讲稿
2014/04/25 职场文书
管理建议书范文
2014/05/13 职场文书
门面房租房协议书
2014/08/20 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
2016年教师节慰问信
2015/12/01 职场文书
信息技术研修心得体会
2016/01/08 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
银行求职信怎么写
2019/06/20 职场文书
python tkinter模块的简单使用
2021/04/07 Python
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
源码分析Redis中 set 和 sorted set 的使用方法
2022/03/22 Redis
MySQL transaction事务安全示例讲解
2022/06/21 MySQL