gpt4 book ai didi

javascript - Angular 的 RouteProvider 和传递范围

转载 作者:行者123 更新时间:2023-11-27 22:48:44 25 4
gpt4 key购买 nike

我正在使用routeProvider 在我的应用程序中创建深层链接。我的问题是我需要有多个级别。假设我有一个产品页面,链接为:

http://example.com/#/products

$scope.products 包含所有产品。单击产品后,我需要能够保留 $scope.products 并将 URL 更改为 http://example.com/#/products/1 。 '/1' 是产品的 id。

最佳答案

在您的产品 Controller 上创建一个函数并调用它以导航到编辑页面 http://example.com/#/products像这样的东西...

$scope.edit = function (data) {
$window.location.href = '#/Products/Edit' + '?id=' + data.id;
};

在您的编辑 Controller 上调用 $routeParams 并从您的 api 加载对象,因为它可能已更改

function loadProduct()
{
productEditFactory.getProduct($routeParams.id).then(function (response) {
$scope.product = response.data;
}, function (response) {

});
}

if ($routeParams.id)
{
loadProduct();
}
else {
$scope.editMode = false;
}

您还需要使用类似的内容更新您的 $routeProvider 定义...

.when('/Product/Edit', {
templateUrl: function (params) { return 'Products/Edit?id=' + params.id ; }
})

关于javascript - Angular 的 RouteProvider 和传递范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38226910/

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