利用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 相关文章推荐
jQuery autocomplete插件修改
Apr 17 Javascript
jquery得到iframe src属性值的方法
Sep 25 Javascript
jQuery中inArray方法注意事项分析
Jan 25 Javascript
JS中Json数据的处理和解析JSON数据的方法详解
Jun 29 Javascript
第一次接触神奇的Bootstrap导航条
Aug 09 Javascript
基于JS实现类似支付宝支付密码输入框
Sep 02 Javascript
详解Node.Js如何处理post数据
Sep 19 Javascript
一篇看懂vuejs的状态管理神器 vuex状态管理模式
Apr 20 Javascript
node.js 抓取代理ip实例代码
Apr 30 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
Mar 22 Javascript
vue组件挂载到全局方法的示例代码
Aug 02 Javascript
JS防抖和节流实例解析
Sep 24 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 设计模式之 工厂模式
2008/12/19 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
基于jquery的一个图片hover的插件
2010/04/24 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
JS实现标签页效果(配合css)
2013/04/03 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
JavaScript制作简易的微信打飞机
2015/03/31 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
jQuery绑定事件的几种实现方式
2016/05/09 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
2017/03/13 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
[59:07]海涛为你详解DOTA2新版本“贤哲秘契”
2014/11/22 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
python 系统调用的实例详解
2017/07/11 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
解决python3 安装不了PIL的问题
2019/08/16 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
python如何基于redis实现ip代理池
2020/01/17 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
python如何进入交互模式
2020/07/06 Python
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
幼儿园中班评语大全
2014/04/17 职场文书
上课睡觉检讨书300字
2014/11/18 职场文书
公司聚餐通知
2015/04/22 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
个人道歉信大全
2019/04/11 职场文书