>我有这个错误:尝试将手表添加到范围时出现"未定义不是一个函数"。
我找不到错误。也许我只是盯着这个错误看了很久。为什么在作用域上明确定义$watch方法时会出现未定义的函数错误?
chColorPicker.controller('chColorPickerCtrl', function ($scope,$document,$element) {
$scope.init = function (event)
{
}
var colorObject = {
r:'0',
g:'0',
b:'0',
hex:'#000000'
};
$scope = colorObject;
$scope.Z1;
$scope.Z2;
var onChangeColor = function(newValue,oldValue)
{
console.log('change');
}
$scope.$watch("r",onChangeColor); //<-- the error appears here.
});
您正在更改$scope:
$scope = colorObject;//error in this line
因此,当您使用 $scope.$watch() 时会出现错误,因为它不再调用 angular 的$scope。