У меня есть этот контроллер со значением.
App.xcontroller = SC.ArrayController.create({
...some code...
array_values = [],
..more code...
})
Теперь у меня есть где-то в представлении это значениеBinding
valueBinding: 'App.xController.array_values',
Когда я изменяю значения в массиве, представление не получаетобновлено.но когда я делаю следующее в контроллере:
var array_values = this.get('array_values');
... adding / removing values to the array....
if (x_values.contains(x)){
x_values.removeObject(x)
} else {
x_values.pushObject(x);
};
this.set('array_values', array_values.copy());
привязка работает, представление обновляется.Но ТОЛЬКО с копией ().Я не хочу делать копию массива, ИМХО, это не эффективно.Я просто хочу, чтобы valueBinding знал, что содержимое изменилось ..
значения x - это просто набор целых чисел.
Причина, по которой я хочу это: я хочу изменить ключ значенияSegmentedItemView.Я хочу изменить активные кнопки.Но я не знаю заранее, сколько у меня есть сегментированных представлений, поэтому я решил связать значение каждого сгенерированного сегментированного представления с некоторым общим массивом и изменить этот общий массив, чтобы иметь возможность изменять активные кнопки на всех сегментированных представлениях.Так как каждая кнопка представляет элемент с уникальным ключом, она работает нормально.кроме того, что я должен копировать массив каждый раз.