_setSliderWidth 函数中为什么要使用 this.children 而不是 直接 let children?

来源:4-4 轮播图组件实现(上)

isjia

2018-07-07

_setSliderWidth函数中为什么要使用

```js

this.children = this.$refs.sliderGroup.children

```

如果使用:


```js

let children = this.$refs.sliderGroup.children

```

可以吗?


```js

_setSliderWidth () {

// this.children = this.$refs.sliderGroup.children

let children = this.$refs.sliderGroup.children


let width = 0

// 获取dom元素的实际宽度

let sliderWidth = this.$refs.slider.clientWidth

// for (let i = 0; i < this.children.length; i++) {

for (let i = 0; i < children.length; i++) {

// let child = this.children[i]

let child = children[i]

addClass(child, 'slider-item')

child.style.width = sliderWidth + 'px'

width += sliderWidth


if (this.loop) {

width += 2 * sliderWidth

}

this.$refs.sliderGroup.style.width = width + 'px'

}

},

```

写回答

1回答

ustbhuangyi

2018-07-07

因为 this.children 在其它函数也有用的,所以挂载到实例上比较好~

0
2
ustbhuangyi
回复
weibo_用户59736453_0
不需要啊,因为 children 的改变也不需要驱动视图的变化
2018-07-16
共2条回复

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3804 问题

查看课程