利用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 相关文章推荐
Apply an AutoFormat to an Excel Spreadsheet
Jun 12 Javascript
javascript实现二分查找法实现代码
Nov 12 Javascript
jQuery JSON的解析方式分享
Apr 05 Javascript
js DOM的学习笔记
Dec 22 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
Jan 16 Javascript
javascript实现很浪漫的气泡冒出特效
Sep 05 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
Angular设置title信息解决SEO方面存在问题
Aug 19 Javascript
微信小程序实现列表下拉刷新上拉加载
Jul 29 Javascript
Vue项目服务器部署之子目录部署方法
May 12 Javascript
VUE+node(express)实现前后端分离
Oct 13 Javascript
Vue通过provide inject实现组件通信
Sep 03 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通过COM类调用组件的实现代码
2012/01/11 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
php使用高斯算法实现图片的模糊处理功能示例
2016/11/11 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
jQuery学习笔记之jQuery构建函数的7种方法
2014/06/03 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
Vue.js实现简单ToDoList 前期准备(一)
2016/12/01 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
对angular4子路由&amp;辅助路由详解
2018/10/09 Javascript
Vue 的双向绑定原理与用法揭秘
2020/05/06 Javascript
[01:09:13]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第三场 1月19日
2021/03/11 DOTA
python类和继承用法实例
2015/07/07 Python
使用Python导出Excel图表以及导出为图片的方法
2015/11/07 Python
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
用yum安装MySQLdb模块的步骤方法
2016/12/15 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
加拿大时装零售商:Influence U
2018/12/22 全球购物
什么是Connection-oriented Protocol/Connectionless Protocol面向连接的协议/无连接协议
2012/09/06 面试题
教师推荐信范文
2013/11/24 职场文书
医科大学生的自我评价
2013/12/04 职场文书
大学生收银员求职信分享
2014/01/02 职场文书
新文化运动的口号
2014/06/21 职场文书
防暑降温通知书
2015/04/27 职场文书
法律意见书范文
2015/06/04 职场文书
六一文艺汇演主持词
2015/06/30 职场文书
2016十一国庆节感言
2015/12/09 职场文书
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技