我们在吉他入门vue时,另一个上手难的例子基本是newvue({el:'#app'}),但我想知道为什么vue实例没法携挂在一个div上呢?虽然的当我们开始写最先vue页面的时候,我们趁机在template标签下写两个div,vue警告我们只有写一个元素,只不过为啥不能有一个元素呢?有些时候我们都巳经见怪不怪,但却说不上来为什么。
笔者入坑vue也有一段时间了,对vue也算打听一下,vuex、vue-router也在用不少;可是前几天一看见了这个面试问题却感觉上再看看子回答不上了,想必有时候写代码也全是拿来就用,也没有翻看的思考过里面的原因;竟报错了就换一种写法,能用就行,不是么。
这个问题要从两个方面来说:
当我们类的对象vue的时候,填写一个el选项,来指定你我们的spa入口处:如果我们把代码改造下,变的两个入口。
这时候会突然发现唯有第一个div被软件渲染进去,而第二个div肯定搬了出来。我们简单啊来看看看vue的源码是如何能实现方法的可以看到携挂函数传了一个el参数,这个参数这个可以是string类型,也是可以是一个element元素,也就是dom节点。最重要的是elelampampquery(el)这一行代码,那就一直看下query函数是做什么的:简单的方法json函数判断是否是string类型,如果没有是string类型,就通过queryselector函数资源页面中的元素,但是queryselector仅仅前往不兼容委托你选器的第一个元素,所以这就请解释了为什么不第二个div会照搬。
vue总之并还不知道哪一个才是我们的入口,毕竟这对一个入口来讲,这个入口是一个vue类,vue必须把这个入口里面的所有东西拿来软件渲染、处理,后来再恢复插入到到dom中。如果同样的系统设置了多个入口,这样vue就真不知道哪一个才是这个类。
vue本身肯定不需要提供这个功能,如果你想不知为什么某个变量改自动启动自动更新title的话,就给这个变量设个watch,在watch里面内部函数上列代码
name属性用来定义,定义标签的名称,.例如:ltel-inputname#34name#34gtlt/el-inputgt
area属性用处定义标签的类型是文本域,.例如:ltel-inputname#34name#34gtlt/el-inputgt