利用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 原型继承介绍
Aug 30 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
Apr 21 Javascript
JavaScript数据类型之基本类型和引用类型的值
Apr 01 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
May 03 Javascript
JS未跨域操作iframe里的DOM
Jun 01 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
Jun 22 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
Jan 04 Javascript
微信小程序联网请求的轮播图
Jul 07 Javascript
前端主流框架vue学习笔记第一篇
Jul 26 Javascript
解决layui数据表格Date日期格式的回显Object的问题
Sep 19 Javascript
vue实现图片懒加载的方法分析
Feb 05 Javascript
JavaScript严格模式不支持八进制的问题讲解
Nov 07 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缓存设计实现代码
2011/09/30 PHP
PHP打开和关闭文件操作函数总结
2014/11/18 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
Vue-cli项目获取本地json文件数据的实例
2018/03/07 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
vue+mock.js实现前后端分离
2019/07/24 Javascript
python中set常用操作汇总
2016/06/30 Python
用 Python 连接 MySQL 的几种方式详解
2018/04/04 Python
python字符串中匹配数字的正则表达式
2019/07/03 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
Python如何输出整数
2020/06/07 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
阿联酋团购网站:Groupon阿联酋
2016/10/14 全球购物
护理工作感言
2014/01/16 职场文书
音乐教学随笔感言
2014/02/19 职场文书
教师新年寄语
2014/04/03 职场文书
新学期开学演讲稿
2014/05/24 职场文书
2014年政务公开工作总结
2014/12/09 职场文书
家长对孩子的寒假评语
2015/10/09 职场文书
教师外出学习心得体会
2016/01/18 职场文书
《假如》教学反思
2016/02/17 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python