项目场景:
利用better-scroll第三方库实现局部滚动,顺畅滚动
问题描述
不能实现局部滚动
debug过程:
<template>
<div class="wrapper" ref="aaa">
<ul class="content">
<li>分类列表1</li>
created () {
console.log(this.$refs.aaa);
console.log(document.querySelector('.wrapper'));
this.scroll = new BScroll('.wrapper', {
})
},
对传入的类wrapper进行打印,得到null
解决方案:
改成mounted()
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
其实两者比较好理解,通常created使用的次数多,
而mounted通常是在一些插件的使用或者组件的使用中进行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID); 通常会有这一步,而如果你写入组件中,你会发现在created中无法对chart进行一些初始化配置,一定要等这个html渲染完后才可以进行,那么mounted就是不二之选。下面看一个例子(用组件)。