如何在v-bind,v-on或@ click中使用if语句来处理运行哪个函数?
我现在所拥有的只有这样的作品(if语句是简写的javascript):
<li v-for="entry in entries.entries"><button type="button" @click="entry.entries?openSub($event):'entry.action'">{{entry.title}}</button>
所以基本上,如果按钮列表项中有子条目,按钮应该触发将子菜单 - 活动类添加到列表项的功能,如果按钮所在的列表项没有任何子条目,应该运行已分配给按钮的任何功能。
我说它有点有用,因为它确实正确地运行了openSub($ event)部分,但它既没有运行也没有添加在没有条目的情况下应该运行的函数。
答案 0 :(得分:6)
问题是你没有执行某项功能。
new Vue({
el: '#app',
data: {
bool: true
},
methods: {
one() {
console.log('one');
this.bool = !this.bool;
},
two() {
console.log('two');
this.bool = !this.bool;
}
}
})
&#13;
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
<button @click="bool ? one() : two()">Click</button>
</div>
&#13;
因此,代码中应该有entries.action()
。
<li v-for="entry in entries.entries"><button type="button" @click="entry.entries ? openSub($event) : entry.action()">{{entry.title}}</button>