Javascript Vue&;Vuex-不排序
我正在使用Vuex存储我的课程数组,该数组包含课程对象。一切都显示为我想要的和完美的工作。现在我需要做分类。我写了这段代码:Javascript Vue&;Vuex-不排序,javascript,vue.js,sorting,vuejs2,vuex,Javascript,Vue.js,Sorting,Vuejs2,Vuex,我正在使用Vuex存储我的课程数组,该数组包含课程对象。一切都显示为我想要的和完美的工作。现在我需要做分类。我写了这段代码: sortSubj() { this.$store.state.Lessons.Title.sort(function (a, b) { let titleA = a.Title.toUpperCase() let titleB = b.Title.toUpperCase() if (titleA < titleB) { r
sortSubj() {
this.$store.state.Lessons.Title.sort(function (a, b) {
let titleA = a.Title.toUpperCase()
let titleB = b.Title.toUpperCase()
if (titleA < titleB) {
return -1
}
if (titleA > titleB) {
return 1
}
})
},
sortSubj(){
这是.store.state.Lessons.Title.sort(函数(a,b){
设titleA=a.Title.toUpperCase()
设titleB=b.Title.toUpperCase()
if(标题A<标题B){
返回-1
}
如果(标题A>标题B){
返回1
}
})
},
我希望在按下按钮时,它能根据标题对我的数组进行排序
<label class="btn btn-secondary">
<input type="radio" name="options" id="Subject" autocomplete="off" checked @click="sortSubj"> Subject
</label>
主题
但不幸的是什么也没发生。我添加了一幅图片,显示了代码如何使用v-for循环显示课程。
怎么了?为什么它什么都不做?我也没有错误。它必须在同一个周期还是什么?这是我第一次使用Vuex。您无法像以前那样对状态进行变异,请尝试提交变异或发送操作来对存储中的状态进行排序:
this.$store.commit('SORT_LESSONS_BY_TITLE')
商店:
const store = new Vuex.Store({
state: {
Lessons:{[]}
},
mutations: {
SORT_LESSONS_BY_TITLE(state) {
state.Lessons.sort(function (a, b) {
let titleA = a.Title.toUpperCase()
let titleB = b.Title.toUpperCase()
if (titleA < titleB) {
return -1
}
if (titleA > titleB) {
return 1
}
})
}
}
})
const store=新的Vuex.store({
声明:{
课程:{[]}
},
突变:{
按标题(州)对课程进行排序{
state.Lessons.sort(函数a,b){
设titleA=a.Title.toUpperCase()
设titleB=b.Title.toUpperCase()
if(标题A<标题B){
返回-1
}
如果(标题A>标题B){
返回1
}
})
}
}
})
只需更改为:state.Lessons.Title.sort。。。。收件人:状态。课程。排序。。。。