第三天课程下

1.项目目录介绍和运行流程

工程化开发模式中:这里不再直接编写模板语法,通过 App.vue 提供结构渲染

main.js文件

复制代码
// 文件核心作用:导入App.vue,基于App.vue创建结构渲染index.html
// 1. 导入 Vue 核心包
import Vue from 'vue'

// 2. 导入 App.vue 根组件
import App from './App.vue'

// 提示:当前处于什么环境 (生产环境 / 开发环境)
Vue.config.productionTip = false

// 3. Vue实例化,提供render方法 → 基于App.vue创建结构渲染index.html
new Vue({
  // el: '#app', 作用:和$mount('选择器')作用一致,用于指定Vue所管理容器
  // render: h => h(App),
  render: (createElement) => {
    // 基于App创建元素结构
    return createElement(App)
  }
}).$mount('#app')

2.组件化开发和根组件

(1)template结构(只能有一个根节点)

(2)style样式

(3)script行为

复制代码
<template>
  <div class="App">
    <div class="box" @click="fn"></div>
  </div>
</template>

<script>
// 导出的是当前组件的配置项
// 里面可以提供 data(特殊) methods computed watch 生命周期八大钩子
export default {
  created () {
    console.log('我是created')
  },
  methods: {
    fn () {
      alert('你好')
    }
  }
}
</script>

<style lang="less">
/* 让style支持less
   1. 给style加上 lang="less"
   2. 安装依赖包 less less-loader
      yarn add less less-loader -D (开发依赖)
*/
.App {
  width: 400px;
  height: 400px;
  background-color: pink;
  .box {
    width: 100px;
    height: 100px;
    background-color: skyblue;
  }
}
</style>

3.普通组件的注册

(1)局部注册

复制代码
<script>
import HmHeader from './components/HmHeader.vue'
import HmMain from './components/HmMain.vue'
import HmFooter from './components/HmFooter.vue'
export default {
  components: {
    // '组件名': 组件对象
    HmHeader: HmHeader,
    HmMain,
    HmFooter
  }
}
</script>

(2)全局注册

main.js中

// 进行全局注册 → 在所有的组件范围内都能直接使用

// Vue.component(组件名,组件对象)

Vue.component('HmButton', HmButton)

复制代码
<template>
  <button class="hm-button">通用按钮</button>
</template>

<script>
export default {

}
</script>

<style>
.hm-button {
  height: 50px;
  line-height: 50px;
  padding: 0 20px;
  background-color: #3bae56;
  border-radius: 5px;
  color: white;
  border: none;
  vertical-align: middle;
  cursor: pointer;
}
</style>
相关推荐
LXXgalaxy几秒前
Vue3 + TypeScript 20 个常见报错
javascript·ubuntu·typescript
小陈工8 分钟前
Python Web开发入门(二):Flask vs Django,项目结构大比拼
前端·数据库·python·安全·web安全·django·flask
橘子编程8 分钟前
HTML5 权威指南:从入门到精通
前端·css·vue.js·html·html5
晓13139 分钟前
React篇——第五章 React Router实战
开发语言·javascript·ecmascript
不超限10 分钟前
InfoSuite AS部署Vue项目
前端·javascript·vue.js
程序员小寒11 分钟前
JavaScript设计模式(五):装饰者模式实现与应用
前端·javascript·设计模式
wefly201715 分钟前
零基础上手m3u8live.cn,免费无广告的M3U8在线播放器,电脑手机通用
前端·javascript·学习·电脑·m3u8·m3u8在线播放
晓131320 分钟前
React篇——第四章 React Router基础
前端·javascript·react
Moment20 分钟前
如果想转 AI 全栈?推荐你学一下 Langchain!
前端·后端·面试
cch891823 分钟前
常见布局实现详解(Flex 实战版)
前端·javascript·css