如果Vue中的语句单击以更改要运行的功能?

Sim*_*yll 5 javascript vue.js

如何在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>
Run Code Online (Sandbox Code Playgroud)

所以基本上,如果按钮列表项中有子条目,按钮应该触发将子菜单 - 活动类添加到列表项的功能,如果按钮所在的列表项没有任何子条目,它应该运行任何功能已分配给按钮.

我说它有点工作,因为它确实运行openSub($ event)部分,但它既不运行也不添加应该在没有条目的情况下运行的函数.

Ego*_*kio 9

问题是你没有执行一个功能.

new Vue({
  el: '#app',
  data: {
  	bool: true
  },
  methods: {
  	one() {
    	console.log('one');
      this.bool = !this.bool;
    },
    two() {
    	console.log('two');
      this.bool = !this.bool;
    }
  }
})
Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/vue/dist/vue.js"></script>

<div id="app">
  <button @click="bool ? one() : two()">Click</button>
</div>
Run Code Online (Sandbox Code Playgroud)

所以,entries.action()你的代码应该有.

<li v-for="entry in entries.entries"><button type="button" @click="entry.entries ? openSub($event) : entry.action()">{{entry.title}}</button>