В моем корне я объявляю свой (многомерный) объект в данных следующим образом:
var app = new Vue({
el: '#root',
data: {
accounts: {}
}
Если я отправлю реквизит следующим образом:
<div id="root">
<my-component :accounts="accounts"></my-component>
</div>
Также в компоненте accept props. В компоненте у меня также есть шаблон, по которому я выполняю цикл for.
Vue.component('my-component', {
props: ['accounts'],
template `
<div>
<another-component v-for="(x, i) in accounts"></another-component>
</div>
`
})
В этом случае, когда я инициализирую учетные записи в корне, если я дам ему пустой объект, он не будет выполнять цикл.
Если в цикле for вместо счетов я использую цифру, он выполняет цикл.
Кроме того, при инициализации в корне, если я стану явным...
accountTypes : {
1: [],
2: []
},
... цикл for работает. Однако на этот раз я получаю другую ошибку:
Избегайте использования в качестве ключа непримитивного значения, вместо этого используйте строковое/числовое значение.
Кроме того, я не хочу быть явным в 1 и 2, иногда я вообще не хочу, чтобы 2 был там.
Заливаю аккаунты методом в корне, привязанным к чекбоксу @change
.
methods: {
accountSelected() {
this.pushValue(index, name)
},
pushValue(key, value) {
var obj = this.accounts
if (obj.hasOwnProperty(key)) {
var idx = $.inArray(value, obj[key]);
if (idx == -1) {
obj[key].push(value);
}
} else {
obj[key] = [value];
}
},
}
@change="accountSelected"
для флажков, я использую метод pushValue, который я добавил в вопрос - person senty   schedule 03.08.2017