Сьогодні я переглядав цей віджет і знайшли наступний спосіб для встановлення властивості:
if (selected !== $scope.dropdownModel) {
angular.copy(selected, $scope.dropdownModel);
}
Я задаюся питанням, яка користь від такого методу, а не:
$scope.dropdownModel = selected;
Відповіді:
1 для відповіді № 1Іноді ви хочете мати копію оригіналумодель, що лежить навколо так, що ви можете скинути модель елемента до початкового значення, наприклад, якщо у вас є форма, а користувач редагує її, то вирішує скасувати зміни, як ви повернете вхідне значення форми до оригіналу Вам потрібна копія оригінальної моделі, оскільки зв'язок між моделлю і формою є двостороннім, і всі зміни, внесені в форму, вплинуть на модель, тому вам потрібно копію оригінальної моделі, якщо ви хочете відмовитися Angular.copy в основному видаляє посилання з об'єкта і створює окрему копію.