AngularJS监视导致无法删除属性“ 0”

时间:2019-09-08 11:50:05

标签: angularjs watch angularjs-watch

在控制器中,我有

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行开始。

0 个答案:

没有答案