VUE-动态设置组件的宽度
我想不出如何动态设置组件的宽度。
我正在使用组件‘vue-burger-Menu’->https://github.com/mbj36/vue-burger-menu。
要设置宽度,需要将道具width
设置为一个数字。如下例所示:
<Slide
ref="slideToggle"
disable-esc
class="slideToggle"
width="470"
right
:burger-icon="false"
:cross-icon="false"
disable-outside-click
>
然后将帮助器类bm-menu
宽度设置为width
。我花了相当长的时间试图弄清楚如何动态设置道具的属性或动态更新样式。
例如,我尝试设置:this.$refs.slideToggle.$attrs.width = 1000
但无济于事。
我无法将样式绑定到bm-menu
类,因为它不可见。
如何设置宽度以便在单击按钮时更改(根据下面的按钮示例)?
谢谢您的帮助!
setDrawWidth() {
this.lineDrawWidth = "200px";
}
解决方案
只需绑定道具前使用:
:
<Slide
ref="slideToggle"
disable-esc
class="slideToggle"
:width="width"
right
:burger-icon="false"
:cross-icon="false"
disable-outside-click
>
,然后在js
部分的data
中:
export default {
data:() => ({ width: '470' }),
}
现在您只需更改width
变量。例如:
export default {
data:() => ({ width: '470' }),
methods:{
changeWidth(){
this.width = '1000';
}
}
}
您可以从文档Vue Props
阅读有关绑定变量的更多信息相关文章