如何在Vue.js中现有的基础上创建新的组件数据
How to create new component data based on existing in Vue.js
我有以下Vue.js组件:
Vue.component('channels-list', {
data() {
return {
channels: [],
}
},
methods: {
getChannels() {
this.$http.get('/channels')
.then(response => {
this.channels = response.data;
});
}
},
ready() {
this.getChannels();
}
});
通道只是对象的数组,例如:
[{
"id": 1,
"title": "ANB",
"image_url": "/img/1.png",
"popular": true
}, {
"id": 2,
"title": "Roya TV",
"image_url": "/img/2.png",
"popular": false
}]
现在我想创建一个新的组件属性,例如popularChannels
,它将在视图中用于仅显示流行频道。我试着像在其他MVVM框架中一样这样做:
data() {
return {
channels: [],
popularChannels: function() {
return this.channels.filter(function(item) {
return item.popular
});
}
}
},
但这行不通。
你能告诉我如何在Vue.js中做到这一点吗?非常感谢。
如果我正确理解你,你想要的是一个计算属性。
如果是这样的话,你可以这么简单:
data() {
return {
channels: [],
}
},
computed: {
popularChannels: function() {
return this.channels.filter(function(item) {
return item.popular
});
}
}
相关文章:
- 如何在大型nodeJS代码的基础上逐步引入typescript
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- 在页面上创建多个元素,而不是一个发生更改的元素
- 如何在sap.m.Image元素上创建可点击区域
- 如何在DynamoDB上创建本地具有GlobalSecondaryIndex的表
- 我想在我的准备列表项上创建一个按钮
- 我想在值的基础上选中复选框
- 用javascript在对象上创建不存在的方法
- 如何在标题上创建弹出框,当点击关闭按钮时,不使用jquery或php在网站中显示
- 在Javascript中解析json并在html上创建表
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 如何在ExtJS网格上创建带有标签的文本字段
- 使用jstl c:forEach在迭代jsp bean上创建javascript json对象
- 如何使用javascript在嵌入式youtube视频上创建可点击的时间戳链接
- 按特定顺序在Trello上创建牌
- 如何在多变量比较的基础上添加ng类
- 在原始对象的基础上创建新对象的最简单方法,但没有几个字段
- 如何在object名称的基础上创建javascript对象的实例
- 如何在Vue.js中现有的基础上创建新的组件数据
- 如何在提交第一个表单的基础上动态创建表单