gpt4 book ai didi

javascript - angularJS 中的状态提供者和路由提供者

转载 作者:可可西里 更新时间:2023-11-01 01:23:43 25 4
gpt4 key购买 nike

下面是我的 app.js 文件

angular
.module('repoApp', [
'ngAnimate',
'ngAria',
'ngCookies',
'ngMessages',
'ngResource',
'ngRoute',
'ngSanitize',
'ngTouch',
'ui.bootstrap',
'ui.router'
])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.when('/about', {
templateUrl: 'views/about.html',
controller: 'AboutCtrl'
})
.when('/login', {
templateUrl: 'views/loginPage.html',
controller: 'loginCtrl'
})
.otherwise({
redirectTo: '/'
});
});
angular
.module('loginState',['ui.router']);

下面是我的状态文件

angular
.module('repoApp')
.config(function ($stateProvider) {

$stateProvider.state('home1', {
url:'/home1',
templateUrl: 'views/modals/test.html'
})
.state('secondState',{
url:'/secondState',
templateUrl: 'views/modals/secondStateTest.html'
});
});

问题是,我使用我的 html 导航到登录页面。

<ul class="nav navbar-nav">
<li class="active"><a href="#/">Home</a></li>
<li><a ng-href="#/about">About</a></li>
<li><a ng-href="#/">Contact</a></li>
<li class="loginShift"><a ng-href="#/login">Login</a></li>
</ul>

但我正试图在我的流到达 Controller 时立即进入状态

angular.module('repoApp')
.controller('loginCtrl', function ($scope,$modal,$state) {
$scope.awesomeThings = [
'HTML5 Boilerplate',
'AngularJS',
'Karma'
];
$state.go('home1');
$scope.openDialog = function () {
$modal.open({
keyboard: 'static',
templateUrl: 'views/login/loginCred.html',
});
};
});

但是我打不到home state。如果我更改状态文件,即

$stateProvider.state('home1', {
url:'/login',
templateUrl: 'views/modals/test.html'
})

我在这里更改了 URL。现在工作正常。

我有一个模板,我想从那里导航到下一个状态

<div>
<button data-ng-click="openDialog()">open ME!</button>
<div><a ui-sref="secondState">click here</a></div>
</div

但只要我点击这个 anchor 标记,它就会将我导航回主页。即不去我打算去的州。主要问题是 URL(我猜)任何帮助将不胜感激。

最佳答案

你不应该同时使用 ngRouteUI-router。这是 UI 路由器的示例代码:

repoApp.config(function($stateProvider, $urlRouterProvider) {

$stateProvider
.state('state1', {
url: "/state1",
templateUrl: "partials/state1.html",
controller: 'YourCtrl'
})

.state('state2', {
url: "/state2",
templateUrl: "partials/state2.html",
controller: 'YourOtherCtrl'
});
$urlRouterProvider.otherwise("/state1");
});
//etc.

您可以在这个主题中找到关于这两者之间区别的一个很好的答案:What is the difference between angular-route and angular-ui-router?

您还可以在这里查阅 UI-Router 的文档:https://github.com/angular-ui/ui-router

关于javascript - angularJS 中的状态提供者和路由提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30370716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com