您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Vue.js注意事项

通过前面小节的学习,我们基本掌握了怎样用 框架来开发并上线项目应用。知道了几乎所有的前端应用都可以用 框架进行开发,并且只需要用一套就可以将项目部署到多个平台。

我们之所以用的这么顺手,有很大一部分功劳是因为, 框架用的是 Vue.js 语法和的 api。但是这样的组合也有一些限制。

由于各个平台的特性,有些 vue 语法在个别平台上面没有办法实现,下面我们会给大家详细讲讲各个平台使用 Vue.js 语法时需要注意哪些地方。

框架除了 vue 组件生命周期之外,还新增了应用生命周期和生命周期。

这些生命周期对应的语法,我们在前面小节都给大家详细的介绍过了,其中比较难以区分的是「生命周期」和「组件生命周期」。

在日常项目开发过程中,这两者之间会有点重复,我们通常选择其中使用就可以了。但是要注意的是,应用生命周期仅在 page 有效,在单独封装的组件中无效。但是组件生命周期在 page 和单独封装的组件中都有效。

来用实例验证一下,在组件里面下面的生命周期,我是在 components/login/login.vue 里面的。
实例:

beforeCreate(){
	console.log('组件生命周期 beforeCreate:实例初始化');
},
onLoad() {
	console.log('生命周期 onLoad:初始化')
},
created(){
	console.log('组件生命周期 created:实例创建完成');
}

完成后,我们点击工具栏–运行–运行到内置浏览器,控制台中会打印下面的信息。

组件生命周期 beforeCreate:实例初始化
组件生命周期 created:实例创建完成

可以看到没有打印生命周期 onLoad。可以验证生命周期在单独封装的组件中无效。

这一点我们在开发过程中一定要注意,如果生命周期没有执行,先要检查一下是不是在单独封装的组件中运行的。

data 里面定义的是的变量,在data里面定义的变量,我们应该怎样展示在上面呢?

是在 template 中,通过 {{ mark }} 来引用在data里面定义的变量。在 script 中,通过 this.mark 来引用在data里面定义的变量。

data 必须是,不然 vue 实例之间可能会相互影响,下面我们来看看正确的使用和的使用。
正确实例:

data () {
  return {
    mark: 
  }
}

实例:

data: { 
  mark: 
}

在H5平台上面,使用 v-for 循环整数时与其他平台存在差异。

比如 v-for=“item in 5” 中,在 H5 平台上面 item 从 1 开始,其他平台 item 从 0 开始,下面我们来用验证一下。
实例:

<view v-for="item in 5">
  {{item}}
</view>

在H5平台打印结果:

1
2
3
4
5

在平台打印结果:

0
1
2
3
4

这个差异我们在实际开发过程中一定要注意,不然会出现 H5 平台与其他平台不一样的情况。所以我们在开发过程中应该尽量避免使用 item in X 这样的语句,如果一定要用的话,我们在循环的时候可以再第二个参数 index,表示列表的索引,这样不管在什么平台上都是从0开始的。
实例:

<view v-for="(item,index) in 5">
  {{index}}
</view>

在所有平台打印结果:

0
1
2
3
4

在实际开发过程中,列表渲染如果没有指定 key,会报 warning 警告。如果列表的静态的,里面的数据不会因为的情况的改变而改变,那么这个 warning 就可以忽略。

如果列表会随着情况的改变而改变,那必须要指定 key,不然会降低渲染效率。原理是:渲染层重新渲染的时候,会校正带有 key 的组件,提高列表渲染时的效率。

key 指定的数据必须是唯一的字符串或者是数字,且不能动态改变。
实例:

<view v-for="(item, index) in items" :key="index">
  {{item}}
</view>

如果item列表是唯一的,key 也可以直接指定 item 本身。
实例:

<view v-for="item in items" :key="item">
  {{item}}
</view>

本小节主要介绍了在 框架中,使用 Vue.js 的注意事项,生命周期、data、列表渲染等。需要掌握的重点如下:

还有一些命名限制、事件处理、语法在 官方网站已经写的比较详细了,大家可以参考官网:。


联系我
置顶