利用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 相关文章推荐
aspx中利用js实现确认删除代码
Jul 22 Javascript
jBox 2.3基于jquery的最新多功能对话框插件 常见使用问题解答
Nov 10 Javascript
JQUERY1.6 使用方法四 检测浏览器
Nov 23 Javascript
JS Replace()的高级使用方法介绍
Jun 29 Javascript
干货分享:让你分分钟学会javascript闭包
Dec 25 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
jQuery插件FusionCharts实现的3D帕累托图效果示例【附demo源码】
Mar 25 jQuery
使用Vue.js开发微信小程序开源框架mpvue解析
Mar 20 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
Sep 16 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
使用Vue Composition API写出清晰、可扩展的表单实现
Jun 10 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
Aug 11 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读取RSS feed的代码
2008/08/01 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
php cli配置文件问题分析
2015/10/15 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
2019/10/17 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
jQuery EasyUI 中文API Button使用实例
2010/04/14 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
iframe里使用JavaScript控制主页转向的方法
2015/04/03 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
js变形金刚文字特效代码分享
2015/08/20 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
js关于getImageData跨域问题的解决方法
2016/10/14 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
assert()函数用法总结(推荐)
2017/01/25 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
python基础教程之缩进介绍
2014/08/29 Python
python基础教程之Filter使用方法
2017/01/17 Python
基于Python os模块常用命令介绍
2017/11/03 Python
python读取文本中数据并转化为DataFrame的实例
2018/04/10 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
2019/06/21 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
信息部岗位职责
2013/11/12 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
终止合同协议书范本
2016/03/22 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
python 判断文件或文件夹是否存在
2022/03/18 Python