标题案例的Vue JS过滤器

0 filter vue.js

我对 Vue JS 完全陌生,所以如果我的问题听起来很愚蠢,请原谅我。

我正在学习在 Vue JS 中创建字符串过滤器。我能够使用以下代码将我的字符串转换为大写。

var app=new Vue({
    el:'#app',
    data:{
        message:'hello world',
    },
    filters:{
        uppercase(value){
            return value.toUpperCase();
        },
    }
})
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试制作一个过滤器来将我的消息转换为标题案例。例如。hello worldHello World

我尝试了很多事情,例如:

filters:{
    upper(value){
        value.toLowerCase().split(' ');
        return value.charAt(0).toUpperCase()+value.slice(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我无法正确创建过滤器。我们如何在 Vue JS 中使用 for 循环?或者有没有其他方法可以完成标题案例?

小智 7

filters: {
    titleize(value){
        return value.replace(/(?:^|\s|-)\S/g, x => x.toUpperCase());
    }
}
Run Code Online (Sandbox Code Playgroud)