【发布时间】:2016-09-08 15:01:09
【问题描述】:
在vue js应用中,当组件离开时,如何触发组件内部元素的transition事件?
该元素有一个v-if="showElement",然后当组件转换在leave 上触发时showElement 设置为false……但showElement 在视图中没有改变。
这是一个代码笔:https://codepen.io/francoisromain-1472161924/pen/RGPYOb?editors=1111
和代码:
html:
<div id="app">
<a @click="show = !show">Show {{ show }}</a>
<page-component v-if="show"></page-component>
</div>
<script id="pageComponent" type="x-template">
<div class="component" transition="component">
<p>Component</p>
<div v-if="showElement" class="element" transition="element">
<p>Element</b>
</div>
</div>
</script>
js:
var pageComponent = Vue.extend({
template: '#pageComponent',
data() {
return {
showElement: false
};
},
ready() {
this.showElement = true;
},
beforeDestroy() {
this.showElement = false;
},
transitions: {
'component': {
enter(el) {
},
leave(el) {
this.showElement = false;
}
},
'element': {
enter(el) {
},
leave(el) {
}
}
}
});
new Vue({
el: '#app',
components: {
pageComponent
},
data: {
show: true
}
});
【问题讨论】:
标签: vue.js