2013-11-26 2 views
1

home.tpl.html 템플릿에 액세스하고 싶은 특별한 가치가 있습니다. 이 작업을 {{magicHappened.mySpecialValue}}으로 수행 할 수 있습니까? 그렇다면 어떻게해야합니까? 값은 state()의 최종 인수입니다.템플릿의 AngularJS 모듈 구성 값에 액세스 할 수 있습니까?

물론 더 좋은 방법이 있다면 알려 주시기 바랍니다.

angular.module('myModule', [ 
    'ui.router' 
]) 
.config(function homeConfig($stateProvider, $urlRouterProvider, $locationProvider) { 
    $stateProvider 
    .state('home', { 
     url: '/', 
     templateUrl: '/app/home/home.tpl.html', 
     controller: 'HomeCtrl', 
     pageTitle: 'Home', 
     mySpecialValue: 'thisValueHere' 
    }); 
    $urlRouterProvider.otherwise('/'); 
    $locationProvider.html5Mode(true); 
}); 

답변

2

구성에 data을 사용할 수 있습니다. 참조 : Attach Custom Data to State Objects

.config(function homeConfig($stateProvider, $urlRouterProvider, $locationProvider) { 
    $stateProvider 
    .state('home', { 
     url: '/', 
     templateUrl: '/app/home/home.tpl.html', 
     controller: 'HomeCtrl', 
     pageTitle: 'Home', 
     data: { 
     mySpecialValue: 'thisValueHere' 
    } 
    }); 

그리고 다음을 {{mySetting}}

+0

처럼보기에있을 수 컨트롤러

.controller('HomeCtrl', [ '$scope', '$state', function ($scope, $state) { $scope.mySetting = $state.current.data.mySpecialValue; ... 

에서 예, 즉이었다 더 많거나 내가 그것을 어떻게 더 적은. :) $ scope.on ($ stateChangeSuccess, function (event, toState) {// 코드와 매우 유사})을 사용했습니다. 링크 주셔서 대단히 감사합니다. 이상적입니다. – Jezcentral

+0

그게 도움이된다면. 엔조이 ui-router;) 멋진 것들 –

관련 문제