我正在使用angularJS在加载时加载警报的不同方法。我看到这个方法记录了:
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
有人能告诉我这个实现我做错了吗?
答案 0 :(得分:6)
您必须定义myCtrl
才能$scope
可用:
function myCtrl($scope, $window) {
$scope.init = function () {
($window.mockWindow || $window).alert('Hello');
};
}
修改强>
我不得不用div
包括ng-app
包裹你的小提琴。 ng-app
告诉角度应用程序的全局范围。这允许它编译内部的所有内容,看看它是否可以找到任何控制器等。
此外,$scope
必须在之后的任何依赖项(在本例中为myCtrl
服务)中传递给控制器$window
的实现。