使用 AngularJS 排除 url 中的路径
Excluding path in url using AngularJS
我的 angular 应用程序有多个用户可以访问的页面,我想隐藏所有其他 url 并只向用户显示基础 url。所以想象一下我的基础 url 是:www.example.com 我还有其他页面,例如关于,联系我们等。目前,当用户点击关于时,url 变为 www.example .com/about。 angular可以不加“/about”吗?这可能使用 angular js 吗?另外,我一直在寻找解决方案并尝试了ui-router.js,是否也可以使用此模块?
如果您使用 ui-router,那么您可以定义状态而无需指定 urls,例如
myApp.config(function($stateProvider, $urlRouterProvider) {
//
// For any unmatched url, redirect to /state1
$urlRouterProvider.otherwise("/state1");
//
// Now set up the states
$stateProvider
.state('state1', {
url: "/state1",
templateUrl: "state1.html",
controller: 'Controller3'
})
.state('state2', {
templateUrl: "state2.html",
controller: 'Controller2'
})
.state('state3', {
templateUrl: "state3.html",
controller: 'Controller3'
})
});
所以默认情况下 url 将是 /state1。您可以通过在模板中使用 ui-sref 指令(如 ui-sref="state2"
)或在控制器中使用 $state 服务(如 $state.go('state2')
.
)来实现导航
我的 angular 应用程序有多个用户可以访问的页面,我想隐藏所有其他 url 并只向用户显示基础 url。所以想象一下我的基础 url 是:www.example.com 我还有其他页面,例如关于,联系我们等。目前,当用户点击关于时,url 变为 www.example .com/about。 angular可以不加“/about”吗?这可能使用 angular js 吗?另外,我一直在寻找解决方案并尝试了ui-router.js,是否也可以使用此模块?
如果您使用 ui-router,那么您可以定义状态而无需指定 urls,例如
myApp.config(function($stateProvider, $urlRouterProvider) {
//
// For any unmatched url, redirect to /state1
$urlRouterProvider.otherwise("/state1");
//
// Now set up the states
$stateProvider
.state('state1', {
url: "/state1",
templateUrl: "state1.html",
controller: 'Controller3'
})
.state('state2', {
templateUrl: "state2.html",
controller: 'Controller2'
})
.state('state3', {
templateUrl: "state3.html",
controller: 'Controller3'
})
});
所以默认情况下 url 将是 /state1。您可以通过在模板中使用 ui-sref 指令(如 ui-sref="state2"
)或在控制器中使用 $state 服务(如 $state.go('state2')
.