我对UI-Router状态的onEnter回调有一个奇怪的问题。我最初想要做的是更改onEnter回调中的变量data.pagetitle
。
我创建了Plunkr来证明问题。我在script.js的第13行和第14行放了一个console.log
。似乎$ state变量在这两行之间有所不同。
所以有两个问题:
答案 0 :(得分:0)
尝试在状态的 params 参数中添加自定义变量,然后您只需在控制器中访问它们。
var app = angular.module('mainApp', ['ui.router']);
// Routes configuration
var Config = function($stateProvider, $urlRouterProvider){
$stateProvider
.state('main', {
template : '{{ pageTitle }}',
controller : 'MainCtrl',
params : { pageTitle : 'Hello, world!' }
});
$urlRouterProvider.otherwise('main');
};
Config.$inject = [
'$stateProvider',
'$urlRouterProvider'
];
app.config(Config);
// Controller
var MainCtrl = function($scope, $state){
// Methods
function initCtrl(){
$scope.pageTitle = $state.params.pageTitle;
}
// Init controller
initCtrl();
};
MainCtrl.$inject = [
'$scope',
'$state'
];
app.controller('MainCtrl', MainCtrl);