微信小程序动态设置class
时间: 2023-09-19 13:11:06 浏览: 114
在微信小程序中,可以使用 `setData` 方法来动态设置组件的 `class` 属性。
例如,假设我们有一个 `view` 组件,初始时它的 `class` 属性为 `class1`,我们可以在页面的 `.js` 文件中定义一个函数来动态设置它的 `class`:
```javascript
// 在Page()函数中定义一个函数,用来动态设置view组件的class属性
function setViewClass(className) {
this.setData({
viewClass: className
});
}
// 在Page()函数中定义一个初始化函数,来初始化view组件的class属性
function init() {
setViewClass.call(this, 'class1');
}
// 在Page()函数中定义data对象,用来存储view组件的class属性
Page({
data: {
viewClass: ''
},
// 生命周期函数--监听页面加载
onLoad: function(options) {
// 初始化view组件的class属性
init.call(this);
}
});
```
在上面的代码中,我们定义了一个 `setViewClass` 函数,它接受一个 `className` 参数,用来设置 `view` 组件的 `class` 属性。我们还定义了一个 `init` 函数,用来初始化 `viewClass` 变量的值为 `class1`。
在页面的 `.wxml` 文件中,我们可以使用 `viewClass` 变量来动态设置 `view` 组件的 `class` 属性,如下所示:
```html
<view class="{{viewClass}}"></view>
```
当我们需要动态修改 `view` 组件的 `class` 属性时,只需要调用 `setViewClass` 函数,传入需要设置的 `className` 即可,如下所示:
```javascript
setViewClass.call(this, 'class2');
```
这样,就可以动态修改 `view` 组件的 `class` 属性为 `class2`。