1、快速搭建Vue-CLI: - -> 注意项目命名:vue-text,不能使用小驼峰形式; cd xx目录 -> vue create xxx -> cd xxx -> npm run serve -> http://localhost:8080/ -> 项目初始化界面
(1).项目初始化界面:html、css、以及js文件都是webpack打包处理后由浏览器进行渲染呈现出的页面,app.js文件的名字可由webpack配置文件进行更改,变为其它名字;
(控制台查看到的html/css/js都是最终转换为浏览器可解析的代码,开发过程使用组件化开发,这也是框架的魅力所在)
(2).Vue核心文件介绍:public文件夹下的index.html是最终由浏览器进行解析呈现的页面;favicon.icon是index.html的title标签图标;src文件下main.js是入口js文件,最后webpack将其打包为app.js文件(index.html页面引入的js文件),App.vue是根组件,components是组件文件夹,assets是项目图片文件夹;
[1].main.js: Vue实例中el:"#app",同$mount("#app");等同; redner: h=>h(App);//ES6箭头函数;
[2].Vue实例中template模版不能使用 -> 底层原因详解;
[3].App.vue;
2、单文件组件:每个文件都是一个独立的组件 -> 组件化开发;
3、组件嵌套:父子组件调用过程;
4、局部样式:组件style标签中填写scoped属性即可<style scoped></style>;//若没有scoped属性,样式会按“加载组件”顺序出现覆盖现象,使用scoped属性底层就是添加了自定义属性名,样式采取的是属性选择器;
5、父子组件传值 -> 聚焦点 -> "传值",既可以传值(原始值),也可以传引用 -> 不严谨,应该称传数据
(1).传值:String number boolean; 传引用:Array Object; 区别:使用多个组件的过程中,传值组件修改某值不会影响其它组件,但是传引用,某组件修改某值,其它组件相关值都会发生改变;
(2).父向子传值 -> props属性的使用,父组件使用子组件时可调用“接口”从而实现传值;
(3).子组件向父组件传值 -> 事件传值 -> this.$emit();注册事件;//触发changeTitle事件后,其会向父组件"注册事件",查询到父组件的titleChanged,然后执行相关的函数(逻辑操作),注册事件传递的内容作为相关函数的参数,必须使用$event接收;
- - - >>>父组件
引入组件:@表示src文件夹下:import AddStudent from '@/components/student/Addstudent',