QUnit 프레임 워크를 통해 내 angularjs 앱을 테스트 해 봅니다.
mysite.ru/#/unittest/
페이지에서 UnittestCtrl
이라는 컨트롤러를 사용합니다. 하지만 내 응용 프로그램에서 나는 DetailCtrl
및 테스트하려는 다른 페이지가 있습니다. 문제는 unittest 페이지에서 DetailCtrl
의 범위에 액세스 할 수 없다는 것입니다.angularjs에서 특정 컨트롤러의 스코프를 얻으십시오
Unittest 컨트롤러의 범위를 mysite.ru/#/unittest/
에 가져 오기 위해 사용하는 코드입니다. DetailCtrl
에서 범위에 액세스하려면 어떻게해야합니까?
var appElement = document.querySelector('[ng-app=TheApp]');
var appScope = angular.element(appElement).scope();
var controllerScope = appScope.$$childHead;
console.log(controllerScope.link);
나는이 시도하지만 어떤 결과가 없습니다 :
오류
var serviceLocator = angular.injector(["TheApp"])
scope = serviceLocator.get('$rootScope')
var $controller = serviceLocator.get('$controller');
$controller('DetailCtrl', {
$scope: scope
});
:
Unknown provider: $rootElementProvider <- $rootElement <- $location <- $route
내 DetailCtrl
Controllers.controller('DetailCtrl', ['$scope', '$routeParams', '$http', '$route',
function($scope, $routeParams, $http, $route) {
$scope.reloadRoute = function() {
window.location.reload();
};
$scope.cityId = $routeParams.cityId;
...