在Vue.JS方法中,传递的字符串trim()不起作用

时间:2019-02-19 13:34:51

标签: javascript vue.js

因此,我尝试使用.trim()函数从返回的对象的属性之一中删除空格,但它不起作用。

我已经尝试应用诸如.replace(/ \ s / g,'')之类的JS函数,但它也不起作用

<script>
export default {
    name: 'navigation',
    props: ["navigation"],
    methods:{
        whiteSpace: function(a){
            var str = a;
            str.toLowerCase();
            str.trim();
            console.log(str);


            return str;
        }
    }
}
</script>

HTML

<li>
  <router-link :to="{ path: whiteSpace(nav.linkTitle) }">
       {{nav.linkTitle}}
  </router-link>
</li>

它应该返回不带空格的字符串,但不会删除空格。

3 个答案:

答案 0 :(得分:2)

trim方法不会修改对象,它会返回一个新字符串。

只需返回return str.trim()

答案 1 :(得分:1)

此代码:

str.toLowerCase();

返回一个新值。它不会修改当前值,因此您应该这样做:

var str = a;
str = str.toLowerCase();
str = str.trim();
console.log(str);

但是无论如何,您都可以像这样返回修整后的值:

export default {
    name: 'navigation',
    props: ["navigation"],
    methods: {
        whiteSpace: function (a) {
            return a.toLowerCase().trim();
        }
    }
}

答案 2 :(得分:0)

所以我发现了问题所在。 .trim()函数不起作用,我尝试了.replace(/\s/g, "");,它很有帮助,谢谢您的帮助:)