有没有像on-showed和on-show这样使用vue.js的回调方法?我在一个div元素上使用了v-show=“my-condition”,但是里面有一些charts.js图表,除非是可见的,否则无法呈现。有谁知道如何只在父级可见时才呈现chart.js吗?它们位于可选选项卡内,因此可能会多次触发。我用的是Vue.js和vue-strap。
pbossiut1#
看看this answer. -在类似的情况下,使用nextTick()对我很有效。
nextTick()
new Vue({ ... data: { myCondition: false }, watch: { myCondition: function () { if (this.myCondition) { this.$nextTick(function() { // show chart }); } else { // hide chart } } }, ...})
new Vue({
...
data: {
myCondition: false
},
watch: {
myCondition: function () {
if (this.myCondition) {
this.$nextTick(function() {
// show chart
});
} else {
// hide chart
}
})
jutyujz02#
没有你描述的event。但是,您可以使用computed属性,如下所示:
event
computed
new Vue({ ... data: { myCondition: false }, computed: { showChart: function () { if (this.myCondition) { // show chart } else { // hide chart } return this.myCondition } }, ...})<div v-show="showChart"></div>
computed: {
showChart: function () {
return this.myCondition
<div v-show="showChart"></div>
https://jsfiddle.net/xhfo24qx/
vlurs2pr3#
custom-directive可以将此目标存档此目标例如:https://stackoverflow.com/a/49737720/4896468文件:https://v2.vuejs.org/v2/guide/custom-directive.html
custom-directive
3条答案
按热度按时间pbossiut1#
看看this answer. -在类似的情况下,使用
nextTick()
对我很有效。jutyujz02#
没有你描述的
event
。但是,您可以使用
computed
属性,如下所示:https://jsfiddle.net/xhfo24qx/
vlurs2pr3#
custom-directive
可以将此目标存档此目标例如:https://stackoverflow.com/a/49737720/4896468
文件:https://v2.vuejs.org/v2/guide/custom-directive.html