vue.js - vue.js 过滤器可以做嵌套方法不能做的事情吗?

标签 vue.js

我想知道 vue.js 过滤器是否实现了嵌套方法无法实现的功能。作为一个 vue.js 新手,这似乎是没有任何实际目的的额外语法。例如,使用过滤器中定义的“大写”函数代替此代码:

{{ 键 |大写 }}

我只想写这个,并将“大写”函数移到“方法”部分而不是“过滤器”:

{{ 大写(键) }}

是否存在嵌套方法不足的用例,或者过滤器只是语法糖? (如果是后者,它们就不够甜,不适合我的口味,但我希望这个问题可以帮助开发我的调色板。)

此代码来自此处的 vue.js 引用 https://v2.vuejs.org/v2/examples/grid-component.html

最佳答案

正如您提到的,过滤器只不过是 javascript 函数。

因此它们可以像 methods 中的函数一样正常定义。

我建议使用过滤器,因为将不同的逻辑分离到不同的部分并利用框架的完整功能是很好的。

一个用例是,当您需要使用多个过滤器/操作时,它们会派上用场,因为过滤器在内部链接

filters: {
 removespace: function(value) {
   return value.replace(/\s/g, '')
 },
 lowercase: function(value) {
   return value.toUpperCase()
 },
}

<p>{{ message | lowercase | removespace }}</p>

或者内置过滤器(事件),

<input v-on="keyup:myFunction | key enter">

<!--myFunction will be called only when the enter key is pressed.-->

关于vue.js - vue.js 过滤器可以做嵌套方法不能做的事情吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51665328/

相关文章:

vue.js - vuetify 中的日期选择器和验证器

webpack - 将 "google-fonts-webpack-plugin"集成到 "vue-webpack"构建过程中

javascript - 如何使用正则表达式来匹配nuxtjs、vue中的路由中的特定单词?

vue.js - 为什么将 name 与 router-link 一起使用比仅将 to 与路径一起使用更好?

javascript - 如何使用 Vue 立即显示一个元素,例如加载指示器? nextTick 没有像我预期的那样工作

javascript - Swiper - 未找到依赖项 Typescript,ionic-vue

javascript - VueJS 按回车键执行方法?

vue.js - 如何在vue组件中使用vuex?

vue.js - 计算属性未从 Vuex 存储对象更新

javascript - 如何将组件对象移动到全局对象?