当使用Vue的自定义组件,作相似于JQuery那种如今js新建节点,而后加到页面指定位置,发现没法像JQuery那样,直接使用下面这种就能加载到指定位置javascript
$("<div></div>").appendTo(xxx)
SCF的处理办法是使用 Vue.extend() 将导入的子组件,转为Vue的类 VueComponent , 再使用 $mount() 方法去挂载html
import test from "./test"; let mountTest=Vue.extend(test);//将导入组件转为类 let tt=new mountTest().$mount("#test");//实例化组件类,挂载到 #test
这样是和下面这种经常使用的写法是同样的vue
<div> <test></test> </dev>
这是个比较完美无中生有的动态挂载子组件的方法,不用在components上声明,也不用在html预先写子组件的标签,可是仍是得先import。
这个能够单独写个引入js文件,负责引入一个文件夹下的全部js或vue文件,这样你只须要将SCF放到这个文件夹下就能够了。java
let app=new Vue({ ..., components:{ child:() => import('../components/' + name + '.vue') } })
这样就能够根据name去动态加载组件,并根据指定挂载,就能避开在html中写 引入的组件的标签了web