我在使用AngularJS v1.2.0和PhoneGap/Cordova Android应用程序进行路径查找时遇到问题.html5mode(true)通过<base href="."/>在index.html中设置然后更改$routeProvider.when('/')为,我已经相当远了$routeProvider.when('/android_asset/www/index.html').在那之后,我能够redirectTo('login')达到$routeProvider.when('/login')并按templateUrl: 'static/partials/login.html'预期进行渲染.
我$location.path('/login');遇到的问题是,如果我尝试从我的Javascript代码重定向到登录页面,则会找到路由但是templateUrl加载失败并出现insecurl异常.
我已经尝试使用新的angular-sanitize模块将文件列入白名单来访问://但这没有用.
我怎样才能$location.path()做同样的事情,redirectTo以便加载部分?或者还有其他方法可以解决这个问题吗?
更新:我通过在路径函数之后添加对replace()的调用来向前推进,例如:
$location.path('/login').replace();
但这似乎是一个黑客,它仍然导致其他路由中的templateUrl失败并出现相同的异常.
关于可能出错的任何想法?是不是html5mode(true)只是在这个时候用Phonegap不起作用,解决这个问题的唯一方法是将它设置为false并将hashtags添加到每个路径(就像在angular phonegap 种子项目中完成的那样)?