我正在向移动平台添加日期选择器。我做了一个指令,其中有一个日期选择器,并希望能够通过进入某个州来显示它。
状态更改成功,但未显示日期选择器。我在$stateChangeError
上有一个记录器,它没有记录任何内容。 成功状态更改的日志:nextState & prevState 。
StateChange是以ui-sref="i.settings.account.date"
我已经三重检查的网址模板启动的,但我无法在此处查明问题。
$ stateProvider:
.state('i.settings', {
url: '/settings',
templateUrl: templateRoot + 'me/settings/settings.html',
controller: 'MobileSettingsController',
order: 1,
data: {
header: {
name: 'mobile.header.settings'
}
}
})
.state('i.settings.account', {
url: '/account',
templateUrl: templateRoot + 'me/settings/account.html',
controller: 'MobileAccountSettingsController',
order: 2,
resolve: {
Settings: function (account)
{
return account.settings();
}
}
})
.state('i.settings.account.date', {
url: '/date',
templateUrl: templateRoot + 'common/directives/pfMobileDatepicker/datepicker.html',
order: 3
})
使用角度1.4
编辑:
刚刚发现整个MobileSettingsController
没有实例化。当从Web浏览器查看时,控制器在源中可用...
编辑2: 在我发布的答案中,我解决了这个问题。如果有人能告诉我为什么会这样,那将非常感激!
答案 0 :(得分:0)
你错过了' i.settings.account.date'中的控制器。 ,这可能导致了这个问题。您可以在控制器中编写以下代码来测试是否所有的datepicker都被显示,而不是指令:
$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
// do something
})
答案 1 :(得分:0)
通过将位置格式i.settings.account
更改为date
来解决此问题。通过这种方式,整个项目都可以随时使用。
从技术上讲,这是一种解决方法,我没有解决问题的核心。