2014-07-22 2 views
3

최근에 ng-Controller를 사용하여 HTML에서 내 컨트롤러의 공식 범위를 선언하지는 않았지만 $ routeProvider 및 모든 APPEARS를 잘 언급했습니다.

누구든지 그러한 상태로 남겨 둘 수 있다는 단점을 알고 있습니까? $ routeProvider에 내 컨트롤러를 정의하고 참조 만하고 있습니까?

답변

4

더 나은이의 컨텍스트를 관련이 있기 때문에, 당신은 그것을 짓을하는 방식이 올바른 생각, 그리고 장점 것이다 한 곳에서 일을 지켜서 당신의 견해와 바운드 관제사.

컨트롤러를 경로 정의에 제공하는 것은 기본적으로 경로보기와 일치하는 ng-view 지시문을 포함하는 요소 안에 ng-controller="MyCtrl"을 넣는 것과 같습니다. 좀 더 복잡한 라우팅이 필요한 경우

또한, (예 : 계층 뷰와 컨트롤러), 그때 그는 $ routeProvider에 선언하지 않는 대신 ngRoute

1

어쨌든 다른 곳에서 HTML을 렌더링하지 않는다면 (나는 지금까지 보지 못했지만) 아무런 차이점이 없습니다. 단지 실수로 두 번 선언하지 않았는지 확인하십시오 ($ routeProvider 및 HTML의 다른 항목).

1

$ routeProvider에서만 컨트롤러를 선언해야합니다. 그렇지 않으면 두 번 인스턴스화됩니다.

경우에 따라 투명 할 수도 있지만 쉽게 작동하지 않을 수 있습니다. 사용 NG-보기를 수행하는 방법에 대한 참조로

는 각도 가이드 코드 샘플을 제공합니다 https://docs.angularjs.org/api/ngRoute/directive/ngView

+1

의 사용 ui-router보고 고려할 것입니다. HTML 내에서 모든 선언을 수행합니다. 잘못된 사용은 아닙니다. –

+0

@OmriAharon HTML에서 ng-routes를 선언하는 방법을 모르겠다. 샘플 (링크, 블로그, jsfiddle)을 가르쳐 주겠다. – BiAiB

+0

@BiAiB 컨트롤러를 나가는 것을 제외하고는 정상적으로 경로를 선언합니다. 귀하의 견해로는 [ng-controller directive] (https://docs.angularjs.org/api/ng/directive/ngController) –

관련 문제