javascript - 从angularjs中下一页上单击元素的 Controller 获取值

标签 javascript jquery html angularjs

我正在用 angularjs 开发一个电子商务门户网站,我在 Controller 中有多个这样的产品

$scope.products = [
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 14, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 11, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 10, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 9, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 8, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 13, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 12, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 7, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 6, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 3, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 2, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 1, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 5, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 4, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 14, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 11, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 10, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 9, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 8, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 13, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 12, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 7, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 6, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 3, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 2, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 1, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 5, link: '#products_detail'},
    {imgLink: 'product1.jpg', name: 'Wingtip Congnac Oxford', price: 4, link: '#products_detail'},
];

我正在使用 ng-repeat 来查看产品,它工作正常。这是产品页面的 URL http://trendnyou.com/#/products

现在我想扩展它,当我点击任何按钮上的立即购买时,它会在我需要的地方通过 routeprovider 打开一个详细信息页面从同一个 Controller 获取值,但仅获取被点击产品的值。这是详细信息页面的 URL http://trendnyou.com/#/products_detail

现在这是一个具有相同数据的虚拟页面,无论您点击什么产品,我只想显示被点击产品的数据。

最佳答案

为您单击的链接编写 ng-click 事件,并将特定产品详细信息存储到本地存储中,然后重定向到相应位置。在 products_detail Controller 中,您可以再次从本地存储中读取并呈现它。

    function storeSelectedProduct(){
        localStorage.setItem('selectedProduct',obj);        
    }

     $routeProvider.when("/products_detail", {
            controller: "productdetailcontroller",
            templateUrl: "detail.html",
            resolve: {
                "selectedProduct": function () {
                   return localStorage.getItem('selectedProduct');   
                }
            }
        });
app.controller("productdetailcontroller", function ($scope, selectedProduct)   {
            $scope.selectedProduct = selectedProduct;
        });

现在您可以从当前范围读取所选产品。

关于javascript - 从angularjs中下一页上单击元素的 Controller 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39161069/

相关文章:

php - 从隐藏的 url 获取数据

javascript - 在另一个 jQuery 脚本之后运行 jQuery

html - DIV到页面右侧

javascript - 在 if 语句中使用 Fetch 响应

javascript - 我怎样才能在 JavaScript 中使 IF 为假?

javascript - rails 6 : execute a JS function after rendering partial

javascript - 从选定的下拉列表中将值附加到文本区域而不删除以前的值

javascript - 提交表单后更改占位符颜色

javascript - Angularjs 根据属性过滤表格内容

android - 使用iframe API在Android手机上播放Youtube html5视频