Vue2基础篇02

 1 v-bind

- 作用:让标签的属性变为动态。

1.1 基本用法

- 语法
  <标签 v-bind:id="表达式" v-bind:class="表达式" v-bind:属性名="表达式" ></标签>
  
  // 简写
  <标签 :id="表达式" :class="表达式" :属性名="表达式" ></标签>
  <标签 :style="{width: '20px', height: '30px'}" ></标签>
  ```

1.2 绑定style

<标签 :style="styleObjet" ></标签>

export default {
 data() {
     return {
         styleObjet: {width: '20px', height: '30px'}
     }
 }
}
       ```

 1.3 绑定class
<标签 class="classA" :class="{ classB: 表达式1, classC: 表达式2 }" ></标签>

// 说明:
/*
   如果表达式的值是true 就有这个类名,否则, 就没有这个类名
*/
```

 2 其他三个指令

- v-pre:  不编译Mustach表达式。
- v-once: 只会渲染一次,之后数据改变,不会重新渲染。
- v-cloak: 等数据回来再显示,不直接显示{{ xxx }} 【现在正常开发 没有这个问题】

 3 过滤器【掌握】

- 作用: 处理数据的格式。

- 用法:
  <template>
    <div>{{ message | 过滤器函数名 }}</div>    
  </template>
  
  export default {
      components: {},
      data() { return {} },
      methods: {},
      computed: {},
      // 过滤器
      filters: {
          过滤器函数名(val) {
              return 过滤结果
          }
      }
  }
  ```

 4 侦听器watch【掌握】

- 作用: 主要用于`暗中观察`数据的变化,如果数据变化,就会触发它的回调函数,我们就可以在回调中==搞点事情==。

- 语法:
  // 一般写法
  watch: {
      要观察的数据(newVal, oldVal) {
          // 如果观察的数据,发生改变,就会触发这个回调函数。
          // 函数中,可以获取到 newVal: 新的值【变化后的值】, oldVal: 旧的值【原来的值】
      }
  }
  
  // 如果对象嵌套太深,可能观察不到【 深度侦听 】
  watch: {
      要观察的数据: {
          handler(newVal, oldVal) {
              // 如果观察的数据,发生改变,就会触发这个回调函数。
              // 函数中,可以获取到 newVal: 新的值【变化后的值】, oldVal: 旧的值【原来的值】
          },
          deep: true // 深度观察
      }
  }
  ```

  

 5 Vue的生命周期

- 介绍:Vue的组件从初始化创建,到组件销毁。整个生命周期过程中,有==8== 个函数【生命周期的`钩子函数`】

  - 生命周期钩子`函数`:

  - 创建前后【1】

    - `beforeCreate`

      vue的实例创建之前,data中的属性都还没有初始化【不存在】。

    - ==`created`==

      vue的实例创建之后,data的属性已经有了,可以操作了。这个阶段==适合发送ajax==,初始化数据。

      这个阶段template还没有被编译为真正的DOM节点,所以不能操作DOM

  - 挂载前后【2】

    - `beforeMount`

      template模板已经编译完成,但是还是虚拟的dom,存在于内存中,没有挂载到页面。还是不能操作DOM

    - ==`mounted`==

      挂载完成,一般需要操作DOM,就在这个阶段, 主要用于==操作dom==。

  - 更新前后【3】

    - `beforeUpdate`

      用于获取更新之前的dom内容

    - `updated`

      用于获取更新之后的dom内容

  - 销毁前后【4】

    - `beforeDestroy`
    - `destroyed`

 6 路由vue-router

- 作用:做页面的跳转 【基于 `onhashchange`】。

### 6.1 安装

- 创建项目,多选择一个路由 Router

- 基本结构:


  /**
   * 路由配置
   * created by 小貂蝉 on 2020-09-06
   */
  
  import Vue from 'vue' // 引入vue
  import Router from 'vue-router' // 引入路由
  Vue.use(Router) // 注册一下路由 
  
  
  const routes = [
    // 路由的配置
    { path: '路径1', component: 组件1 },
    { path: '路径2', component: 组件2 },
    { path: '路径3', component: 组件3 },
  ]
  
  
  const router = new Router({
    routes
  })
  
  export default router
  
  ```

 6.2 使用步骤

- 建【1】     创建页面级别的组件

- 配 【2】    配置路由,配置路径`path` 和 组件` component` 的 一一对应关系

- 测试 【3】 测试是否生效

  `注意`: 一定要预留 ==路由出口== :  组件要渲染出来的位置。

        ```javascript

  <router-view /> 或 <router-view></router-view> 
        ```

 6.3 路由跳转
<router-link to="要跳转的路径"></router-link>  // 最终这个路由自带的组件,会被渲染成a标签。

 6.4 嵌套路由
// 路由的配置
const routes = [
  { 
      path: '/home', 
      component: Home,
      children: [
          { path: '/home/路径1', component: 儿子组件1 },
          { path: '/home/路径2', component: 儿子组件2 },
      ]
  },
  { path: '/my', component: My },
  { path: '/friend', component: Friend },
]

 6.5 两个对象

- $route:    路由信息对象,主要用于获取一些路由信息
  - path  获取路径
  - query  获取query方式的参数
  - params   获取params方式的参数
- $router:   路由实例对象,相当于 new Router(), 主要有跳转方法
  - push()   跳转
  - go(-1)    返回

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值