$ scope。$ watch(var,function)undefined不是函数

时间:2015-02-01 00:30:03

标签: javascript angularjs html5

我有这个错误:" undefined不是函数"在尝试将手表添加到示波器时启动。

我无法找到错误。也许我只是盲目地盯着这个错误很久了。 为什么在范围内明确定义$ 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.
});

1 个答案:

答案 0 :(得分:7)

您正在更改$ scope:

$scope = colorObject;//error in this line

因此,当你使用$ scope。$ watch()时会出现错误,因为它不再调用angular的$ scope。