gpt4 book ai didi

javascript - AngularJS改变状态问题

转载 作者:行者123 更新时间:2023-12-03 03:39:10 26 4
gpt4 key购买 nike

我的 app.js StateProvider 配置设置如下:

状态“仪表板”包含侧边栏和顶部导航栏,并且当状态dashboard.home 和dashboard.addclient 处于事件状态时应处于事件状态。

app.config(function ($stateProvider, $locationProvider, $urlRouterProvider) {
$stateProvider
.state('login', {
url: '/',
templateUrl: 'partials/login.html',
controller: 'LoginController'
})
.state('dashboard', {
url: '/dashboard',
templateUrl: 'partials/dashboard.html',
controller: 'DashboardController'
})
.state('dashboard.home', {
url: '/home',
templateUrl: 'partials/dashboard.home.html',
controller: 'HomeController'
})
.state('dashboard.addclient', {
url: '/addclient',
templateUrl: 'partials/dashboard.addclient.html',
controller: 'ClientsController'
})

$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
});

问题是,当用户单击仪表板页面内的链接时,它会调用一个更改状态的函数,如下所示:

app.controller('DashboardController', function ($scope, $state) {
$scope.AddClient = function () {
$state.go('dashboard.addclient');
}
});

但由于某种原因,它尝试调用的 URL 看起来像:

http://localhost/dashboard/partials/dashboard.addclient.html

HTML:

索引包含登录将被加载到的 View :

<body>
<div id="view" ui-view></div>
</body>

因此,当用户登录时,我们在仪表板上有另一个 ui View :

<div id="page-content-wrapper">
<div ui-view></div>
</div>

最佳答案

看起来您的模板 URL 是相对路径,因为它们不以“/”开头。这意味着如果您的浏览器当前有 http://localhost/dashboard在地址栏中,当您将状态更改为 dashboard.addclient 时,它只会将您的模板网址附加到当前地址。相反,你可以尝试这个:


.state('dashboard.addclient', {
url: '/addclient',
templateUrl: '/partials/dashboard.addclient.html',
Controller :'ClientsController'
})

关于javascript - AngularJS改变状态问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45713886/

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