vue主要用来实现前端模块化编程,
它的最终代码是一些序列化的js,简单的index.html访问入口,和一些image,
vue的js使用es6来模块化设计,
为什么要这么做呢,我想主要是为了前端与后端交互变为纯数据,做分离,变成只有api的通讯
当然你也可以用其它方法来实现这个目的,不过vue应该是有对前端数据进行一些压缩,优化,
再者,它可以用es6来模块化(动态编程,模块引用之类,),
vue还有什么双向绑定,监视watch之类,,,总是就是学习成本有点高,,用顺手了,维护成本会降低不少,
--------
es6的import,引入js,或vue,,,,其实文件估计也可以,
(可以忽略文件扩展,,,感觉这是个缺点,看着很乱)
import aaa from '@/components/list111' //aaa表示一个引用名称,@应该是指src目录吧,,,其他也可以使用相对
相对目录,如,../,表示上级,等等
export输出是指es6的输出,而import可以不是es6如vue,
export输出的东西似乎可以是所有的数据类型实体,
如export default a12 //var a12="a12"
如export default [{},{}] //包含两个对象的数组
而,import aaa1 from '@/components/aaa1.vue' ,则是引入一个vue模板,引完它会做些替换或嵌套之类的,
vue使用<template><一个元素>...</一个元素></template>,,,这种用法好像比较多,
vue的路由,是一个数组构造的,Router,对象,在 /Router/index.js,被定义,所以我认为其他路由的关联也是由这里去扩展的,
思路:
引入其他路径的js,如 /Router/mall/index.js,该js里可以定义其下的路由
再在 /Router/index.js import /Router/mall/index.js ,把路由构成 新数组,并 export
/router/mall/
import mall_index from '../../view/mall/index.vue'
import mall_goodslist from '../../view/mall/goodslist' //不加扩展名也可以
export default [
{
path:'/mall',
component:mall_index
},
{
path:'/mall/index',
redirect:'/mall'
},
{
path:'/mall/goodslist',
component:mall_goodslist
},
];
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld1'
import mall_index from './mall'
Vue.use(Router)
var def_route = [{
path: '/',
name: 'HelloWorld1',
component: HelloWorld
}]
var ext_routers=[mall_index]
ext_routers.forEach(aa=>{
aa.forEach(ele=>{def_route.push(ele)})
})
export default new Router({
routes: def_route
})
/src/view/mall/goodslist.vue
<template>
<div>
mall-goodslist.vue
</div>
</template>
/src/view/mall/index.vue
<template>
<div>
asdfsd-mall-index
</div>
</template>
d4
--------------
vue-router的children
{
path:"/mall",
component:layout,
children:[
{
path:"list",
component:t01_component,
}
]
}
--------------
vue的格式化和js的格式化(vscode里,快捷键,ctrl+shift+f,vetur的插件)
//这配置,vetur.format.defaultFormatter.html 值修改成 js-beautify-html ,而在none时不格式化vue
常用插件:1。auto rename tag(auto rename paired html/html tag,不懂做啥)
2。eslint(这个好像是强制约束检查的),3。path intellisense(不懂做啥),4。vetur(格式化)
5。vscode-icons(文件图标主题等,感觉效果很好)//颜色主题,dark + default,,,,
--------------
说起来,vue就是要把静态的东西都搬到客户端去运行,包括一个视窗到另一个视窗的ui,且它们的url不同也包含其中,
(其实url是相同的,因为#号后面不同是用于vue的路由,),这个api就可以单独的做响应数据,而且可以支持多平台,如android,ios等
------
由于它把视窗都放客户端,后端做数据支持,这样它应该没有seo可行了,所以只能是做管理后台程序吧,
------
vue的template,里只许一个单元素吗,多个是不行,如
//正确
<template>
<div>
例1
</div>
</template>
//错误
<template>
<div>
例2
</div>
<div>
增加并行两个div,不行
</div>
</template>
//正确
<template>
<div>
例2
<div>
增加嵌入的div,行
</div>
</div>
</template>
------
vue-router: 嵌套路由