利用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获得CheckBoxList选中的数量
Oct 27 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
Apr 21 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
Dec 20 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
Dec 20 Javascript
DIV+CSS+jQ实现省市联动可扩展
Jun 22 Javascript
AngularJS ng-bind-html 指令详解及实例代码
Jul 30 Javascript
Angular的自定义指令以及实例
Dec 26 Javascript
使用jQuery操作DOM的方法小结
Feb 27 Javascript
Vue插件写、用详解(附demo)
Mar 20 Javascript
详解React 16 中的异常处理
Jul 28 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
May 04 Javascript
Vuex的各个模块封装的实现
Jun 05 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错误提示的关闭方法详解
2013/06/23 PHP
PHP fclose函数用法总结
2019/02/15 PHP
php面向对象程序设计中self与static的区别分析
2019/05/21 PHP
jQuery中$.click()无效问题分析
2015/01/29 Javascript
整理AngularJS中的一些常用指令
2015/06/16 Javascript
JavaScript基础篇(3)之Object、Function等引用类型
2015/11/30 Javascript
jquery取消事件冒泡的三种方法(推荐)
2016/05/28 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
vue 2.0封装model组件的方法
2017/08/03 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
js实现无限层级树形数据结构(创新算法)
2020/02/27 Javascript
python Django连接MySQL数据库做增删改查
2013/11/07 Python
使用Python的Twisted框架构建非阻塞下载程序的实例教程
2016/05/25 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
Python 类的特殊成员解析
2018/06/20 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
利用Python实现手机短信监控通知的方法
2019/07/22 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
2019/12/10 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
2020/02/21 Python
Python SMTP发送电子邮件的示例
2020/09/23 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
护理专业毕业生自荐信范文
2014/01/05 职场文书
商场端午节活动方案
2014/01/29 职场文书
草船借箭教学反思
2014/02/03 职场文书
小班秋游活动方案
2014/02/22 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
婚礼家长致辞
2015/07/27 职场文书
Java Optional<Foo>转换成List<Bar>的实例方法
2021/06/20 Java/Android
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
Golang原生rpc(rpc服务端源码解读)
2022/04/07 Golang