<template> <div> {{ result }} </div></template><script>export default { data() { return { type: 'week', result: '' } }, mounted() { this.getResult() }, methods: { getResult() { switch (this.type) { case null: this.result = 'type为null' break case 'week': this.result = 'type为week' break case 'month': this.result = 'type为month' break default: this.result = 'type为其他值' } } }}</script>
时间: 2024-03-11 11:50:22 浏览: 241
在vue项目中获取<video>的duration属性值为NaN或者undefined.md
您的代码已经非常简单明了,如果您的目的只是为了根据type的值给result赋值,那么您已经很好地完成了这个任务。
如果您想要更好地优化代码,可以考虑以下几点建议:
1. 使用计算属性:将getResult方法改写为计算属性,根据type的值直接返回对应的字符串,这样可以省略掉switch语句。
```
<template>
<div>
{{ result }}
</div>
</template>
<script>
export default {
data() {
return {
type: 'week'
}
},
computed: {
result() {
if (this.type === null) {
return 'type为null'
} else if (this.type === 'week') {
return 'type为week'
} else if (this.type === 'month') {
return 'type为month'
} else {
return 'type为其他值'
}
}
}
}
</script>
```
2. 使用对象字面量:将getResult方法改写为使用对象字面量,将type作为键名,将对应的字符串作为键值,这样可以省略掉switch语句。
```
<template>
<div>
{{ result }}
</div>
</template>
<script>
export default {
data() {
return {
type: 'week'
}
},
computed: {
result() {
const obj = {
null: 'type为null',
week: 'type为week',
month: 'type为month'
}
return obj[this.type] || 'type为其他值'
}
}
}
</script>
```
以上两种优化方式都可以让代码更加简洁易懂,选择哪种方式取决于个人偏好和具体场景。
阅读全文