gpt4 book ai didi

javascript - AngularJS:不使用单页时有没有办法使用 $routeParams

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

Or, I'm not doing Single Page in the strict sense ...

嗨,

首先一些

背景

我要求所有先前加载的页面都需要保留在屏幕上,以便保留状态而不保存到存储中。所以我(认为我)不能使用标准的单页结构(使用 ngView)。相反,我加载 MVC 部分 View 并将它们添加到当前页面,同时隐藏以前的条目。

apiService.View(viewInfo.Url).then(function (html) {
var container = $('#' + self.targetContainerId);
if (container) {
container.html($compile(html)($scope));
} else {
loggerService.Info(self.Name, "Unable to find container '" + self.targetContainerId + "'.")
}
});
  • 其中 viewInfo 包含以下内容(针对我所询问的特定场景):

    返回{ 面包屑:“人”, 网址:'部分/PeopleOverview' + '/' + options.ScreenContextId + '/' + options.RoleTypeId};

apiService.View 执行以下操作:

return {
View: function (uri) {
return self.DoViewRequest('get', uri);
}
}

基于:

self.DoViewRequest = function (verb, uri) {
var defer = $q.defer();
verb = verb.toLowerCase();

//start with the uri
var httpArgs = [coreUtilityService.GetLocalUrl() + uri];
if (verb.match(/post|put/)) {
httpArgs.push(data);
}

$http[verb].apply(null, httpArgs)
.success(function (response) {
defer.resolve(response);
})
.error(function (response, status) {
defer.reject('HTTP Error: ' + status);
});

return defer.promise;
};

我需要解决什么

ScreenContextIdRoleTypeId 是我需要在整个结构中传递的重要信息。它是从调用 url 接收的,即:

/Home/People/0f8fad5b-d9cb-469f-a165-70867728950e/7c9e6679-7425-40de-944b-e07fc1f90ae7

如果我可以使用$routeParams,那就很容易了,但由于我没有使用严格意义上的单页,所以我认为它不可用。我已经像这样设置了路由:

.config([
'$routeProvider', function ($routeProvider) {
$routeProvider
.when('/Home/People/', {
templateUrl: '/Home/People/:screenContextId/:roleTypeId'
});
}
])

有了这个,我(理论上)就可以使用:

$routeParams.screenContextId$routeParams.roleTypeId

问题

在给定所需上下文的情况下是否可以使用$routeParams,或者是否有我应该使用的替代方案?

或者,有没有办法使用单页并满足我的要求(无需将状态保存到存储)?

最佳答案

为此,您可以使用 $location.search()。它将为您提供与 $routeParams 具有相似/相同结构的对象。

抱歉,记错了,使用 $location.path().split('/'),​​您将获得路径参数数组,然后只需使用索引访问正确的参数即可。

关于javascript - AngularJS:不使用单页时有没有办法使用 $routeParams,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32265770/

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