Angularjs Matchmedia页面路由

时间:2015-04-14 11:44:08

标签: angularjs matchmedia

如何在下面为页面路由执行matchmedia。如果是平板电脑,那我想为家里加载一个不同的templateURL?

app.config(['$routeProvider',function($routeProvider) {
        //configure the routes
        $routeProvider

        .when('/',{
        // route for the home page
            templateUrl:'partials/login/login.html',
            controller:'loginCtrl'      
        })

        .when('/home',{
        // route for the home page

            templateUrl:'partials/home/home.html',
            controller:'mainCtrl'       
        })

        .otherwise({
            //when all else fails
            templateUrl:'partials/login/login.html',
            controller:'loginCtrl'
        });


}]);

1 个答案:

答案 0 :(得分:1)

您可以通过在生成templateUrl时添加函数来实现此目的, 在返回templateUrl之前检查导航器字符串和浏览器。

<强>代码

$routeProvider
    .when('/', {
    // route for the home page
    templateUrl: function() {
        if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
            return 'partials/mobile/login/login.html'; //mobile template
        } else {
            return 'partials/login/login.html';
        }
    },
    controller: 'loginCtrl'
})