是否有任何内置服务/指令/路由根据用户访问的浏览器/平台类型更改视图(或使用路由的页面)?我希望手机和平板电脑的视图与桌面用户不同。
答案 0 :(得分:7)
我不知道Angular内置的任何内容,但您可以通过在路由规则中插入逻辑来实现此目的。例如:
angular.module('browser-routing', []).
config(function($routeProvider) {
$routeProvider.
when('/', {templateUrl: getBrowser() + '.html'})
});
在此示例中,如果getBrowser()返回'iphone'
,它将呈现视图iphone.html
你可以使用 BrowserDetect做名字所暗示的。
答案 1 :(得分:2)
尽管AngularJS没有任何特殊功能可以开箱即用,但有许多不同的方法可以实现这样的目标:
您可以编写服务以检查并更改路线:
myApp.factory('checkWidth', function ($location, $window) {
return function () {
if ($window.document.width < 700) {
$location.url('/mobile');
}
}
});