AngularJS ng-view
외부의 매개 변수를 업데이트 할 때 Service을 사용하거나 Scope Inheritance을 사용하는 것이 더 효과적입니까?AngularJS : 서비스 뷰와 외부의 액세스 매개 변수에 대한 상속 서비스
저는 ng-view
및 공통 헤더가있는 AngularJS 페이지가 있습니다. ng-view
의 사이를 이동할 때 나는 싶습니다 :
- 갱신 공통의 헤더 제목
- 을 적절한 탐색 메뉴 항목을 선택합니다.
이렇게하려면 두 가지 일반적인 해결책을 읽었습니다. 첫 번째는 컨트롤러간에 변수를 전달할 수있는 서비스를 제공하는 것입니다. 여러 곳에서 설명 간단하고 직선적 솔루션은 여기에 포함 :
<body ng-controller="MainCtrl">
<!-- stuff -->
<h1>{{ common.pageTitle }}</h1>
<ng-view></ng-view>
<!-- more stuff -->
</body>
:
AngularJS: How can I pass variables between controllers?
내가 찾은 두 번째 방법과 같이, 범위 상속을 활용하고 부모 컨트롤러 내 ng-view
을 포장했다
myApp.controller('MainCtrl', function ($scope)
{
$scope.common = [];
$scope.common.pageTitle = "Set by MainCtrl";
});
myApp.controller('SplashCtrl', function ($scope)
{
$scope.common.pageTitle = "Set by SplashCtrl!"
});
다른 통해 하나를 사용 사이의 성능 저하가 있습니까 :
그런 다음 내 컨트롤러에서 나는 다음을 수행 할 수 있습니다? 내가 아직 깨닫지 못했던 것을 사용하면 숨겨진 "잡았다"를 발견 할 수 있을까요?
MainCtrl을 사용한 접근 방식은 매우 좋지 않습니다. http://stackoverflow.com/a/21428102/356380. 좋은 해결책은 http://stackoverflow.com/a/21488757/356380을 참조하십시오. 내 마지막 업데이트를 찾는다. – Whisher