vue 手风琴组件_vue.js – Vuejs – 手风琴

我正在尝试使用vuejs创建一个手风琴.

我在网上找到了一些例子,但我想要的是不同的.对于搜索引擎优化的目的,我使用“是”和“内联模板”,所以手风琴是一种静态的,没有在Vuejs中完全创建.

我有2个问题/疑问:

1)我需要根据用户交互(点击)在组件上添加一个“is-active”类,因此我收到以下错误.

Property or method “contentVisible” is not defined on the instance but

referenced during render. Make sure to declare reactive data

properties in the data option.

这可能是因为我需要在实例级别设置它.但是“contentVisible”具有每个组件不同的值(true或false).

所以我想在实例级别使用一个“contentVisible”数组和一个props(通过实例传递)和子节点上的自定义事件来更新实例值.

2)可以工作,但它是一个静态数组.如何制作动态数组(不知道项目组件的数量)?

Title A1

albatros

Title A2

lorem ipsum

var item = {

data: function() {

return {

contentVisible: true

}

},

methods: {

toggle: function(){

this.contentVisible = !this.contentVisible

}

}

}

new Vue({

el:'.accordion',

components: {

'item': item

}

})

更新

我创建了以下代码,但是将修改从组件发送到实例的自定义事件不起作用,tabactive不会更改

var item = {

props: ['active'],

data: function() {

return {

contentVisible: false

}

},

methods: {

toggle: function(index){

this.contentVisible = !this.contentVisible;

this.active[index] = this.contentVisible;

**this.$emit('tabisactive', this.active);**

console.log(this.active);

}

}

}

new Vue({

el:'.accordion',

data: {

tabsactive: [false, false]

},

components: {

'item': item

}

})

Title A1

albatros

Title A2

lorem ipsum
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现vue手风琴的竹简式展开效果,可以按照以下步骤进行操作: 1. 首先,设置一个布尔变量来控制二级列表的显示与隐藏。可以在data中定义一个变量,比如isExpanded,并初始化为false。 2. 在模板中,使用v-if或v-show指令来根据isExpanded的值来控制二级列表的显示与隐藏。当isExpanded为true时,显示二级列表;当isExpanded为false时,隐藏二级列表。 3. 同步地,通过这个变量来控制展开或隐藏的图标切换。可以使用v-bind指令来动态绑定展开或隐藏图标的class。当isExpanded为true时,绑定展开图标的class;当isExpanded为false时,绑定隐藏图标的class。 4. 为一级选项创建点击事件,点击一级选项时要切换isExpanded的值。可以使用v-on指令来监听点击事件,并在对应的方法中修改isExpanded的值。 5. 最后,根据具体需求进行样式的调整和数据的渲染。 通过以上步骤,你就可以实现一个简单的vue手风琴竹简式展开效果了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [vue手风琴三种方式](https://download.csdn.net/download/ozhy111/12233205)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [vue实现手风琴效果](https://blog.csdn.net/weixin_51138142/article/details/119851615)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值