在vue中,我通常将任何复杂的逻辑提取到方法中,例如
<li v-for="todo in todos" v-show="!isTodoComplete(todo)"> {{ todo }} </li>
但当我用同样的方法对待苗条的时候:
{#each todos as todo} <li hidden={isComplete(todo)}>{todo}</li> {/each} ... methods: { isComplete (todo) { ... } }
我搞错了 TypeError: ctx.isComplete is not a function .
TypeError: ctx.isComplete is not a function
我做错什么了吗?怎么做这样的事情苗条的方式?
苗条区分 helpers 和 methods .
帮手 模板中用于处理数据的函数应该是纯函数,并且除了作为参数传入(例如 todo 对象)。
todo
方法 是指 做 事物,通常是对事件的反应。它们确实可以访问组件状态。
在这种情况下, isComplete 应该是助手,而不是方法。
isComplete