gpt4 book ai didi

javascript - Angular 构建数组

转载 作者:行者123 更新时间:2023-12-03 09:27:18 25 4
gpt4 key购买 nike

我有一个应用程序,每次用户单击该标签时,我都想要产品单击的 ID 并将其放入数组中。

这是我的观点

<ion-view view-title='Products'>
<ion-content>
<div class="row">
<div class="col col-25" ng-repeat="row in products">
<a href="#/main/tickets/{{row.productId}}" class="button button-block button-light">{{row.product}}<br/><small>{{row.price | currency}}</small></a>
</div>
</div>
</ion-content>

正如你所看到的,我得到了产品的 row.productId 。现在在我的 app.js 中我有这个。

这是我的 app.js

.state('main.tickets', {
url: '/tickets/:productId',
views: {
'tickets': {
templateUrl: 'templates/tickets.html',
controller: 'ticketsController'
}
}
})

我将 ProductId 作为 url 参数获取。

这是我的 Controller 。

.controller('ticketsController', function($scope, $localStorage, $stateParams){

var tickets = [];

tickets.push($stateParams.productId);

console.log(tickets);

})

门票数组应该获取正在工作的 id,但每次我单击新的产品 ID 时,数组值都会重置,因为它不断命中 var 门票声明。我想以某种方式将所有 ProductId 存储在门票数组中,但我找不到在不重置门票数组的情况下执行此操作的方法。

最佳答案

您的问题是您正在使用 Controller 来存储您的票证数组。每次您进入票证页面时,都会创建一个新 Controller ,并附加一个新的 $scope。

解决您的问题的一个简单方法是将票证数组存储在一个服务中,该服务将在不同的页面上保留。

.service('ticketModel',function() {
var self = this;
self.ticketArray = [];
}

.controller('ticketsController', function($scope,$statePrams,ticketModel) {
ticketModel.ticketArray.push($stateParams.productId);
console.log(ticketModel.ticketArray);
})

关于javascript - Angular 构建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31629793/

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