我可以在模板中访问AngularJS模块配置值吗?

时间:2013-11-26 14:58:13

标签: angularjs angular-ui-router

我想在home.tpl.html模板中访问一个特殊值。这可以作为{{magicHappened.mySpecialValue}}完成,如果是,怎么做?该值是state()中的最终参数。

当然,如果有更好的方法,请告诉我。

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);
});

1 个答案:

答案 0 :(得分: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'
     } 
  });

然后在你的控制器中

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

可以在您的视图中显示{{mySetting}}