我想在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);
});
答案 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}}