vue使用split对双向绑定的字符串进行拆分的时候会出现undefined
时间: 2024-09-20 19:07:25 浏览: 32
在Vue中,当你尝试对一个双向绑定的字符串变量进行`split()`操作,并将其结果赋值给数组型的数据属性时,可能会遇到`undefined`的问题。这是因为当数据还未初始化,或者绑定的字符串为空时,`split()`的结果就是`undefined`,而 Vue 并不会自动处理这种情况。
例如:
```html
<template>
<div>
<input v-model="myString" />
<p>分割后的数组: {{ myArray }}</p>
</div>
</template>
<script>
export default {
data() {
return {
myString: '',
myArray: []
};
},
computed: {
// 如果直接 split,myArray 将会是 undefined
// 当 myString 为空时
myComputedArray: function() {
this.myArray = this.myString.split(',');
}
}
};
</script>
```
在这种情况下,如果你想要避免`undefined`,可以在计算属性里添加条件判断,如检查字符串是否非空后再进行拆分:
```javascript
computed: {
myComputedArray: function() {
const myString = this.myString;
if (myString) {
this.myArray = myString.split(',');
} else {
this.myArray = [];
}
}
}
```
阅读全文