computed和methods问题
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./第三章源码/3-7/vue/vue.js"></script>
</head>
<body>
<div id="root">
<ul>
<li v-for="user in shouldShowUsers" :key="user.id">{{ user.name }}</li>
</ul>
</div>
<script>
var vm = new Vue({
el: '#root',
data: {
users: [
{
id: 1,
name: 'a',
show: true
},
{
id: 2,
name: 'b',
show: true
},
{
id: 3,
name: 'c',
show: false
},
{
id: 4,
name: 'd',
show: true
},
{
id: 5,
name: 'e',
show: false
}
]
},
methods: {
shouldShowUsers: function () {
return this.users.filter(function (user) {
return user.show
})
}
},
})
</script>
</body>
</html>当用computed时就能渲染出数据,用methods时就没有数据,为啥啊?
18
收起
正在回答
1回答
同学你好,因为computed中存放的是属性,使用时直接通过属性名获取即可,但是methods中存放的是方法,使用时需要添加括号调用方法才可以。
示例:同学的代码,在使用shouldShowUsers方法时,添加一个括号即可

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星