AngularJS onload - 未捕获的ReferenceError:未定义$ scope

时间:2013-09-15 16:42:47

标签: javascript angularjs

我正在使用angularJS在加载时加载警报的不同方法。我看到这个方法记录了:

http://jsfiddle.net/AQ533/9/

JS

$scope.init = function () {
  ($window.mockWindow || $window).alert('Hello');
};

HTML

<div data-ng-controller="myCtrl" data-ng-init="init()">
<span id="logo">Just a</span><span id="small" >PREVIEW</span>    
</div>

我收到以下错误:

  

未捕获的ReferenceError:未定义$ scope

有人能告诉我这个实现我做错了吗?

1 个答案:

答案 0 :(得分:6)

您必须定义myCtrl才能$scope可用:

function myCtrl($scope, $window) {
    $scope.init = function () {
      ($window.mockWindow || $window).alert('Hello');
    };
}

这是updated fiddle

修改 我不得不用div包括ng-app包裹你的小提琴。 ng-app告诉角度应用程序的全局范围。这允许它编译内部的所有内容,看看它是否可以找到任何控制器等。

此外,$scope必须在之后的任何依赖项(在本例中为myCtrl服务)中传递给控制器​​$window的实现。