Vue中使用箭头函数初始化data()
Using arrow function to initialize data() in Vue
为什么我获取不到'expired'的数组?我可以看到过期是一个函数,但我想要一个数组。
export default {
name: 'a',
data () {
return {
labelEnable: "a",
expired: () => {
var a = []
for (var i = 1; i < 31; i++) {
a.push(i)
}
return a
},
}
},
您可以通过 this.expired()
而不是 this.expired
访问它
new Vue({
el: '#app',
data () {
return {
labelEnable: "a",
expired: () => [1, 3],
}
},
mounted() {
console.log(this.expired())
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<p v-for="elem in expired()">{{ elem }}</p>
</div>
您声明了一个计算过期的函数,但您没有调用和执行它。试试这个:
expired: (() => {
var a = []
for (var i = 1; i < 31; i++) {
a.push(i)
}
return a
})(),
但是对于这个特定的例子,有一个更明确的解决方案:
expired: new Array(30).fill().map((d, i) => i + 1)
为什么我获取不到'expired'的数组?我可以看到过期是一个函数,但我想要一个数组。
export default {
name: 'a',
data () {
return {
labelEnable: "a",
expired: () => {
var a = []
for (var i = 1; i < 31; i++) {
a.push(i)
}
return a
},
}
},
您可以通过 this.expired()
而不是 this.expired
new Vue({
el: '#app',
data () {
return {
labelEnable: "a",
expired: () => [1, 3],
}
},
mounted() {
console.log(this.expired())
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<p v-for="elem in expired()">{{ elem }}</p>
</div>
您声明了一个计算过期的函数,但您没有调用和执行它。试试这个:
expired: (() => {
var a = []
for (var i = 1; i < 31; i++) {
a.push(i)
}
return a
})(),
但是对于这个特定的例子,有一个更明确的解决方案:
expired: new Array(30).fill().map((d, i) => i + 1)