使用AngularJS$routeProvider&x2B;OnsenUI-ons.navigator.pushpage()
我正在做一个AngularJS+OnsenUI项目,我的导航有问题 假设我有一个模块:使用AngularJS$routeProvider&x2B;OnsenUI-ons.navigator.pushpage(),angularjs,navigation,onsen-ui,Angularjs,Navigation,Onsen Ui,我正在做一个AngularJS+OnsenUI项目,我的导航有问题 假设我有一个模块: angular .module('app.home', ['ui.utils','ngRoute','ngAnimate']) .controller('HomeCtrl', HomeCtrl) .config(function($routeProvider) { $routeProvider .when('/', {
angular
.module('app.home', ['ui.utils','ngRoute','ngAnimate'])
.controller('HomeCtrl', HomeCtrl)
.config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'path/to/home/template',
controller: 'HomeCtrl'
})
.when('/test1', {
templateUrl: 'path/to/template',
controller: 'TestOneCtrl'
})
.when('/test2', {
templateUrl: 'path/to/template',
controller: 'TestTwoCtrl'
})
.otherwise({
redirectTo: 'path/to/home/template'
});
}))
在HomeCtrl中,我应该(取决于某些函数的结果)导航到test1.html或test2.html。我的问题是我不知道如何将routeProvider链接到ons.navigator.pushPage函数
这不起作用:
var url = '/test1';
$scope.navigator.pushPage( url, { animation : 'slide' } );
这项工作:
var url = '/absolute/path/to/template';
$scope.navigator.pushPage( url, { animation : 'slide' } );
我的问题是,我需要做什么才能不必在url变量中写入模板的绝对路径?显然我错过了什么,但我不知道是什么
提前谢谢 我认为这是因为$routeProvider中使用的路径与navigator.pushPage()中使用的pageUrl的路径类型不同
及
路径类似于在浏览器地址栏中找到的应用程序url的模式或字符串。例如,”http://localhost:8000/app/index.html#/test1“
。此时,您可以在routeProvider中将其称为“/test1”。但是,在navigator.pushPage()中,您需要指定页面的确切url,就像在$routeProvider中设置ur templateUrl一样。换句话说,pageUrl=route
不过这只是我的理解。谢谢。有道理:)
$routeProvider.when(path, route);
navigator.pushPage(pageUrl, option);