旅游网站排名排行榜,中山品牌网站建设报价,网站开发要多少钱,网站手机端做排名1.模块与组件#xff0c;模块化与组件化概念
2. 非单文件组件
3. 组件编写注意事项
4. 组件的嵌套
一. 模块与组件#xff0c;模块化与组件化
传统方式编写存在的问题
#xff08;1#xff09;依赖关系混乱#xff0c;不好维护
#xff08;2#xff09;代码的复用…1.模块与组件模块化与组件化概念
2. 非单文件组件
3. 组件编写注意事项
4. 组件的嵌套
一. 模块与组件模块化与组件化
传统方式编写存在的问题
1依赖关系混乱不好维护
2代码的复用率不高 组件方式编写应用 1.1 模块
① 模块向外提供特定功能的js程序一般就是一个js文件
② 为什么要引入模块化因为按照传统方式进行编程js文件很多引入逻辑很复杂
③ 引入模块化的作用简化js的编写复用js提高js的运行效率
1.2 组件
① 定义用来实现局部特定功能效果的代码集合
② 为什么要引入组件因为一个界面往往功能都比较多也比较复杂
1.3 模块化和组件化
① 模块化当应用中的js都以模块来编写那么这个应用就是一个模块化的应用
② 组件化当应用中的功能都是多组件的方式来编写的以功能点来拆分那这个应用就是一个组件化的应用
二. 非单文件组件
2.1 概念理解
① 非单文件组件一个文件中包含n个组件 xxx.html
② 单文件组件一个文件中只有一个组件 xxx.vue (开发中常用)
2.2 编码示例
① Vue中使用组件的三大步骤 1定义组件创建组件 2 注册组件 3使用组件写组件标签
② 创建组件示例使用Vue.extend(options)创建其中options和new Vue(options)传入的options几乎一样
注意
el不要写最终所有的组件都要经过一个vm的管理由vm中的el属性决定服务哪个容器data必须写成函数避免组件被复用数据存在引用关系使用template配置项将结构写进去注意所有结构需要包在一个div中 ③ 注册组件
注册组件有两种方式全局注册和局部注册
全局注册靠Vue.components(组件名, 组件) 局部注册 靠new Vue的时候传入components选项使用的比较多 ④ 使用组件 school/school 在模板中使用组件标签 三. 组件编写注意事项
3.1.关于组件名
由一个单词组成 ① 第一种写法首字母小写school ② 第二种写法首字母大写:School
多个单词组成 ① 第一种写法kebab-case命名my-school但是在使用的时候需要用引号包起来 ② 第二种写法CamelCase命名MySchool必须在脚手架环境下才能运行
注意
组件名尽可能回避HTML中已有的元素名称h2或者H2都不行可以使用name配置项指定组件在开发者工具中呈现的名字
注册的时候用的名字是School 在模板中使用的时候也得用这个名字 上面name的配置项修改的是开发者工具中呈现的名字 3.2 组件标签
1第一种写法school/school
2第二种写法(自闭合)school/ 这种写法必须在脚手架环境下才可以如果不在脚手架环境会导致后续组件不能渲染
3.3 组件简写形式 ① 简写形式 const s {name:atguigu,// 组件定义时不要写el配置项// el:#root,template:divh2学校名称{{schoolName}}/h2h2学校地址: {{address}}/h2button clickshowName点我提示学校名/button/div,data() {return {schoolName:尚硅谷,address:北京昌平}},methods: {showName() {alert(this.schoolName)}},}
② 完整形式 const s Vue.extend({name: atguigu,// 组件定义时不要写el配置项// el:#root,template: divh2学校名称{{schoolName}}/h2h2学校地址: {{address}}/h2button clickshowName点我提示学校名/button/div,data () {return {schoolName: 尚硅谷,address: 北京昌平}},methods: {showName () {alert(this.schoolName)}},})
四.组件的嵌套
1定义app组件app组件中包含school组件和hello组件 2定义school组件school组件包含student (3)student组件 (4) hello组件 vm管理app, app管理所有组件