在控制器中,我有
const vm = $scope;
vm.selectedColor = '4F44A0';
vm.$watch('selectedColor', newVal => {
if(newVal.includes('#')) {
const val = newVal.replace('#', '');
angular.copy(val, vm.selectedColor);
}
});
我希望selectedColor
永远不要包含#
。用户可以使用模板中的输入进行更改。最后,我执行angular.copy不再再次调用change事件,因此不会出现无限循环。
<input type="text" ng-model="selectedColor" class="form-control"
id="colorField" required>
现在,当我将#333
粘贴到输入中,然后在控制台中出现错误:
TypeError:无法删除[object String]的属性'0'
从angular.copy
行开始。