Vue.js 在v-for内使用过滤器?

Vue.js 在v-for内使用过滤器?,vue.js,vuejs2,Vue.js,Vuejs2,在v-for循环中,如何对文本应用过滤器?我的内联模板: <select> <option v-for="(item, index) in items" :key="index" :value="item.id" v-text="item.name | capitalize"></option> </select> 我收到多个警告属性或方法“capit

在v-for循环中,如何对文本应用过滤器?我的内联模板:

 <select>
     <option v-for="(item, index) in items" :key="index" :value="item.id" v-text="item.name | capitalize"></option>
</select>

我收到多个警告
属性或方法“capitalize”未在实例上定义,但在渲染过程中被引用。
即使已定义过滤器

所以我认为这是循环中的某种范围问题?如何解决这一问题?

如前所述,过滤器可用于胡须插值v-bind表达式,不包括指令

对于你的代码, 解决方案1将是胡须插值

Vue.filter('global-capitalize',函数(值){
返回值.toUpperCase()
})
新Vue({
el:“应用程序”,
数据:{
项目:[
{text:“学习JavaScript”,id:1},
{文本:“学习Vue”,id:2},
{text:“在JSFiddle中玩”,id:3},
{文本:“构建一些很棒的东西”,id:4}
]
},
过滤器:{
大写:函数(名称){
返回name.toUpperCase()
}
}
})

待办事项:
{{item.text}大写}
{{item.text |全局大写}

使用
{{item.text | capitalize}}
@Sphinx“无效表达式:在…”中使用意外标记“{}”时无效
Vue warn]:呈现错误:“ReferenceError:u”未定义
代码中有其他错误。请检查是否在任何代码中调用u。谢谢-lodash err