programing

각도 사용angular.module().controller()로 작성된 JS 컨트롤러

megabox 2023. 3. 25. 11:01
반응형

각도 사용angular.module().controller()로 작성된 JS 컨트롤러

앵글은 아직 처음이야JS와 나의 첫 번째 어플리케이션 셋업을 진행하고 있다.저는 다음을 할 수 있으면 좋겠습니다.

angular.module('App.controllers', [])
  .controller('home', function () {
    $scope.property = true;
  }]);

angular.module('App', ['App.controllers'])
  .config(['$routeProvider', function($routeProvider) {
    $routeProvider.when('/', {templateUrl: 'partials/home.html', controller: home});
  }]);

이 설정을 사용하면, 다음의 에러가 발생합니다.

Uncaught ReferenceError: home is not defined from App

질문입니다.를 사용하여 컨트롤러를 등록하려면angular.module.controller()(또는$controllerProvider.register()직접)를 사용하여 내 앱의 다른 곳에서 등록된 컨트롤러를 사용합니다.

나의 동기:글로벌 컨스트럭터 함수를 컨트롤러로 사용하거나(angularjs.org의 대부분의 예에서 사용) 복잡한 네임스페이스는 사용하지 않도록 하겠습니다.컨트롤러를 단일 변수 이름으로 등록하여 사용할 수 있다면(글로벌 범위에 포함되지 않음) 이상적입니다.

문자열 식별자를 사용해 보십시오.

routeProvider.when('/', {templateUrl: 'partials/home.html', controller: 'home'});

리터럴을 사용하면 리터럴은home하지만 이 경우에는 존재하지 않습니다.

controller is not defined error가 표시되는 경우 따옴표 안에 컨트롤러 이름을 입력해야 합니다.

또는 다음과 같이 컨트롤러를 정의합니다.

function controllerName()
{
   //your code here
}

다음을 참조해 주세요.수집되지 않은 참조 오류:컨트롤러가 Angular에 정의되어 있지 않습니다.JS

언급URL : https://stackoverflow.com/questions/11211999/using-angularjs-controllers-created-with-angular-module-controller

반응형