В своем приложении VueJS я использую bootstrap-vue и хочу использовать iframe внутри складных элементов b-collapse
. Из-за некоторых проблем с содержанием и изменением размера iframe (проблема здесь не связана) я обнаружил, что если я включаю / отключаю b-embed
с условным рендерингом, он работает.
Родительский компонент b-collapse
имеет элемент данных с именем show
, который меняет свое состояние при нажатии на переключатель. В моем HelloWorld
компоненте я хочу, чтобы b-collapse
мог передать свое значение show
в if
проверку b-embed
.
Мой подход с this.$parent.$data.show
не работает, и я не уверен, есть ли лучший способ сделать это.
<template>
<div>
<b-btn v-b-toggle.logs>
<span class="when-opened">Close</span>
<span class="when-closed">Open</span>
Trace
</b-btn>
<b-collapse id="logs">
<b-embed :src="src" v-if="this.$parent.$data.show"></b-embed>
<div>Data: {{this.$parent.$data.show}}</div>
</b-collapse>
</div>
</template>
<script lang="ts">
import Vue from "vue";
import { Prop, Component, Inject } from "vue-property-decorator";
@Component
export default class HelloWorld extends Vue {
src = "http://localhost:7681/";
}
</script>