我有一个angularjs代码,其中在监视程序中为变量dataKey提供了一个值。当我在控制台中记录该值时,将显示该值(例如,示例4),但是在以下语句中,它给出了错误:ReferenceError: datakey is not defined。那怎么可能?

这是代码片段。

myApp.directive('circlepackingChart', function($window) {
    return {
        restrict: 'EA',

        link: function(scope, elem, attrs) {
            var dataFile = scope.dataFile;
            var dataKey = attrs.expKey|| false;
            var d3 = $window.d3;
            var div = elem[0];
            var width = div.offsetWidth;
            var height = width / 2;


            scope.$watch(function() {
                return attrs.expKey;
            }, function(value) {

                dataKey = value || false;

                console.log(datakey);

                if (datakey) {
                    drawCirclePacking();
                }

            });
            drawCirclePacking = function(){
                /*some code*/
            }
        }
    }
});

最佳答案

JavaScript是区分大小写的语言。这意味着语言关键字,变量,函数名称和任何其他标识符必须始终以一致的大写字母键入。

未定义datakey,因为您定义了dataKey

09-17 23:57