vue对象删除指定属性 什么属于操作dom,为什么vue避免了dom操作?

[更新]
·
·
分类:互联网
3397 阅读

vue对象删除指定属性

什么属于操作dom,为什么vue避免了dom操作?

什么属于操作dom,为什么vue避免了dom操作?

什么属于操作dom?需要回答这个这个问题,首先,我们必须明白什么是dom;DOM 是 Document Object Model(文档对象模型)的缩写;
那么,有哪些dom操作呢?比如查找节点、添加节点、删除节点、修改节点属性,修改节点内容等等
对于为什么vue避免了dom操作,其实,根据我的理解,并不是vue避免了dom操作,而是vue的架构中,已经帮我们完成了这些操作,亦或者说是,它是通过数据的改变,去自动驱动dom的改变,在我们平常看来,我们只需要修改数据,那么整个dom结构,文档内容都会自动完成,就好像我们没有进行dom操作一样,其实不然,只是当我们进行数据改变的时候,vue已经帮我们完成了dom操作而已;
这也就是所谓的双向绑定,数据驱动;
比如,当我们需要在对某个元素进行数据绑定时,我们都知道,直接在元素上添加v-texttext 当text值变化时,对应元素的内容也就改变了;那么,它里面具体干了些什么呢?
首先,我们应该明白,“v-text”其实是vue中的一个指令,也就是directive;源码如下:
也就是在将v-text绑定到元素上时,首先会判断此元素的元素类型,如果nodetype是3,也就是文本节点时,如果是文本节点,则通过修改其data属性去修改文本内容;如果是其他节点,则通过修改其textContent去修改节点的值;当值变化时,就会执行“this.el[] _toString(value)”去修改节点内容;
所以,其实vue并不是避免了dom操作,它其实也进行了dom操作,只是包含在框架内,让我们没有明显感知到而已

什么属于操作dom?只要你改变dom的属性值,就是操作dom,我觉得你想说的是虚拟dom吧!虚拟dom是用系统内存模拟dom结构,当你页面改变以后,先改变的是虚拟dom,虚拟dom系统通过算法优化尽量少的操作真实dom来实现同样的效果。
不存在避免dom操作,只是尽量少的操作dom,同时也尽量减少程序员的dom操作,vue指定了一些语法,让我们尽量少的操作dom,其实是vue来代替我们操作了那些dom元素。

现在学java有没有前途?

作为一名从业多年的程序员,我来回答一下这个问题。
虽然Java语言已经有了多年的应用历史,但是目前Java语言的生命力依旧比较旺盛,而且凭借其稳定的性能表现和较强的扩展性,Java语言在当今的大数据时代依然有一席之地,所以现在学习Java语言依然是一个不错的选择。
Java语言早期最为著名的应用是Applet,国内第一批Java程序员几乎都有过开发Applet的历史,当时不少网络聊天室都在采用Applet技术。后来Java根据Web发展的趋势及时推出了JSP技术和Servlet技术,正是这两个技术让Java语言在Web开发领域取得了巨大的成功,甚至被称为“网络普通话”,随后一系列标准都围绕JSP和Servlet展开,直到EJB相关技术的出现让Java正式进入了企业级开发领域。随后开源项目大量采用Java语言,一系列优秀的开发框架给予了Java新的发展空间,Struts、Hibernate、Spring等框架都在Java开发领域取得了较大的成功,直到今天Spring相关框架,包括SpringMVC、SpringBoot等依然被广泛使用。
在移动互联网时代由于Android系统采用了Java作为开发App应用的编程语言,所以Java语言在移动互联网时代进一步拓展了应用领域,从Web端拓展到了移动端,真正提供了从前端(移动端)到后端的全栈解决方案。
目前正处在大数据时代,Java语言依然是大数据开发的主要编程语言,由于著名的Hadoop平台就是采用Java语言编写的,所以Java语言在Hadoop平台有广泛的应用。所以伴随着大数据技术的逐渐落地应用,Java语言在大数据时代依然有大量的发展机会。
Java语言目前不仅有广泛的应用领域(Web开发、移动互联开发、大数据开发、后端服务开发等),而且Java语言有大量的开发人员,采用Java语言进行项目开发会在很大程度上降低开发风险。从就业的角度来说,学习Java语言是个比较现实的选择。
学习Java语言应该首先选择一个学习方向,目前大数据方向就是个不错的选择。可以按照基础语法、Java数据库编程、Java Web编程、Hadoop平台结构、Hadoop应用开发的学习路线来学习Java。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,也可以咨询我,谢谢!