色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue getters 參數

錢斌斌2年前9瀏覽0評論

Vue中的getters是一種用于在store中獲取state屬性和派生出一些新的值的方法。如果你有一些計算屬性需要在多個組件中使用,你可以把這些屬性提取到getters中。它們類似于計算屬性,但是可以接受參數,因此你可以基于不同的參數返回不同的值。

//在store中定義getters
const store = new Vuex.Store({
state: {
todos: [
{ id: 1, text: "Buy groceries", done: true },
{ id: 2, text: "Take a walk", done: false },
],
},
getters: {
getTodoById: (state) =>(id) =>{
return state.todos.find((todo) =>todo.id === id);
},
getTodosByDone: (state) =>(done) =>{
return state.todos.filter((todo) =>todo.done === done);
},
},
});
//在組件中使用getters
export default {
computed: {
todo() {
return this.$store.getters.getTodoById(this.todoId);
},
doneTodos() {
return this.$store.getters.getTodosByDone(true);
},
},
props: {
todoId: {
type: Number,
required: true,
},
},
};

在上面的代碼中,我們先定義了一個含有兩個todo項的state,然后定義了兩個getters:getTodoById和getTodosByDone。getTodoById接受一個id作為參數,返回當前id所對應的todo項。getTodosByDone接受一個done值作為參數,返回所有done狀態為done的todo項。

在組件中我們使用computed屬性來調用這些getters。我們傳遞了一個todoId屬性作為參數來獲取特定的todo項。我們還通過doneTodos計算屬性來獲取所有完成的todo項。