我见过许多看起来像我的不同问题,但我的问题是不同的。我设置了以下路线。
myModule.config(function($routeProvider) {
$routeProvider.
when('/', {templateUrl: 'views/splash.html', controller: SplashCtrl}).
when('/home', {templateUrl: 'views/home.html', controller: HomeCtrl});
});
和控制器如下:
function SplashCtrl($scope, $location, $timeout) {
$timeout(function() {
console.log('going home');
$location.url('/home'); //tried $location.path('/home') as well
}, 1000);
}
function HomeCtrl($scope) {
console.log('in HomeCtrl');
}
我在控制台上得到以下信息:
going home at js/main.js:2475
in HomeCtrl at js/main.js:2494
看起来 HomeCtrl 已加载,但问题是它views/home.html
从未显示在屏幕上。视图永远不会改变,但控制器会改变。任何想法上面的代码可能有什么问题?
更多背景信息:我正在开发一个 Cordova + AngularJS 应用程序。上面的代码是在 Android 4.2.3 stock chromium web view 上测试的。
编辑 1:现在测试Chrome v31.0.1650
它在桌面上也不起作用。我想知道这是否是附加到AngularJS v1.2.6
.
编辑 2:将 AngularJS 降级到 v1.2.4 或之前的版本可以解决问题。显然,与 AngularJS 有一些关系,上面的代码似乎还不错?