Говоря только о производительности , Я думаю, вариант 1 (с простыми переменными) более эффективен.
Просмотр равнинысвойства
функция $ watch (), по умолчанию проверяет только равенство ссылок на объекты.Поэтому в каждом $ digest он будет проверять, указывают ли новые и старые значения на один и тот же объект.
Просмотр объектов и массивов
Если вы хотите $ watch() объект, вы должны переключиться на глубокие часы, и это означает, что в каждом $ digest, он будет проверять все дерево, чтобы увидеть, изменились ли структура или значения.Таким образом, чем больше объект, тем дороже проверка.
$ watchGroup (), альтернатива объектам / наблюдателям массива
Если у вас есть группа связанных свойств, таких както есть человек (имя, фамилия, возраст), вы можете определить его как обычные свойства и использовать $ watchGroup () , который работает так же, как обычный $ watch (), но беря списоксвойства смотреть, а не один.