2016-09-18 2 views
0

Я просто хочу спросить, может ли okey назначать некоторые свойства в вычисленных геттерах?Назначение в вычисленных геттерах

props: 
    invoice: 
    type: Object 

computed: 
    total: 
    @invoice.subtotal = { some expression } 

Я хочу сделать это, быть причиной объект фактура разделяется над несколькими другими компонентами, и эти компоненты нужны вычисляемые данные субтотальной компонента.

+0

Это говорит о том, что 'invoice.subtotal' должен сам вычисляться. –

ответ

0

В идеале вы не должны мутировать состояние экземпляра внутри вычисленного свойства.

В вашем случае, вы должны взглянуть на Vuex, который является общим государством, основанным на Flux architecture. В Vuex вы можете получать геттеры и делиться реактивным состоянием между несколькими компонентами ...

+0

Но геттеры связывают только данные в одном направлении (store> component). В моем случае мне нужно сохранить вычисленное значение из компонента для хранения. Например, в хранилище счетов есть массив товаров и атрибут subtotal, в промежуточном компоненте я хотел бы собрать все продукты, рассчитать промежуточный итог и сохранить его на складе. И есть много атрибутов, мне нужно написать мутатор для каждого поля? –

+0

Да, чтобы изменить состояние Vuex, вам придется мутировать его с помощью хранилищ-мутаторов ... как вы их пишете - это ваше собственное решение. У вас может быть один мутатор для нескольких полей, действительно зависит от того, что вы хотите сделать и чего добились. –

+0

У меня есть много вычисленных свойств. Это немного странно, хотя я мог бы разделить мою компонентную логику над дочерними компонентами. Но в конце дня кажется, что я должен определить большой объект vuex.store. Поэтому я не вижу разницы между большим компонентом vue и большим vuex.store. :/ –

Смежные вопросы