Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vuejs-将父组件道具与模板一起传递给子元素_Javascript_Vuejs2_Vuetify.js - Fatal编程技术网

Javascript Vuejs-将父组件道具与模板一起传递给子元素

Javascript Vuejs-将父组件道具与模板一起传递给子元素,javascript,vuejs2,vuetify.js,Javascript,Vuejs2,Vuetify.js,我试图解决的问题是,我希望子组件在展开/收缩v型展开面板时做出反应 通常情况下,这很简单,但是,我正试图通过作用域插槽将值从vuetify组件中的一个道具传递到另一个组件。因为我在循环中渲染子组件,所以我不能只使用数据绑定道具 <v-expansion-panel expand> <v-expansion-panel-content v-for="item in this.items" :key="item.key"> &

我试图解决的问题是,我希望子组件在展开/收缩v型展开面板时做出反应

通常情况下,这很简单,但是,我正试图通过作用域插槽将值从vuetify组件中的一个道具传递到另一个组件。因为我在循环中渲染子组件,所以我不能只使用数据绑定道具

  <v-expansion-panel expand>    
   <v-expansion-panel-content 
     v-for="item in this.items"
     :key="item.key">
     <div slot="header">
       content
     </div>          
   <slot :items="item.children"></slot>
  </v-expansion-panel-content>
 </v-expansion-panel>  

内容
v-expansion-panel-content有一个名为value的道具。我需要把那个道具绑在槽上。理想情况下,我希望实现以下目标:

<slot :items="item.children" :panelValue="value"></slot>


任何想法都将不胜感激。

我已经解决了这个问题,但方法并不理想

<v-expansion-panel expand>    
  <v-expansion-panel-content
    v-for="item in this.items"
    :key="item.key"
    v-model="item.isOpen">
    <div slot="header">
      content
    </div>       
  <slot :items="item.children" :isVisible="item.isOpen"></slot>
</v-expansion-panel-content>

内容

当您说希望子组件“反应”时,您的确切意思是什么?子组件包含的逻辑取决于传递给它的值。如果该值为true,则显示某些内容,否则隐藏该内容。因此,绑定需要保持反应性。我希望这能回答你的问题。你能在插槽上放一个v-if吗?那可以。考虑到渲染时存在多个v-expansion-panel-content组件,我如何将单个v-expansion-panel-content值prop绑定到v-if?等等,我想我找到了,您是否尝试过:
:signal='variabletopasssprops'