Bir home.html dosyasında bir listeye ekleme yapmaya çalışıyorum ve listeyi myOrders.html içinde iyonik ve angularjs kullanarak görüntülemeye çalışıyorum.Angularjs dizisi, önceki öğelerin yerine geçer
Sorun şu ki, yeni bir öğeyi diziye bastığımda, önceki öğeler yeni öğeyle değiştirilir.
Örnek:
itme 'bir' -> dizidir [{ 'adı': Bir '}]
itme 'iki' -> dizi [{olan' isim ": 'iki'}, {'name': 'two'}] // olmalıdır [{'name': 'one'}, {'name': 'two'}]
'üç' - > dizi [{'name': 'three'}, {'name': 'three'}, {'name': 'three'}] // olmalıdır [{'name': 'one'} , {'name': 'two'}, {'name': 'three'}]
Kodumun ilgili kısımlarını aşağıda ekledim.
home.html
(listeye ekle)
<ion-view title="Home">
<ion-content ng-controller="homeCtrl">
<form ng-submit="submitForm(product)" class="list">
<input ng-model="product.name" type="text">
<input type="submit" value="Search" class="button">
</form>
</ion-content>
</ion-view>
myOrders.html
(Ekran listesi)
<ion-view title="My Orders">
<ion-content ng-controller="myOrdersCtrl">
{{ product }}
</ion-content>
</ion-view>
controllers.js
angular.module('app.controllers', [])
...
.controller('homeCtrl', function($scope, $state, formData) {
$scope.product = {};
$scope.submitForm = function(product) {
if (product.name) {
formData.updateForm(product);
$state.go('menu.myOrders');
} else {
alert("Please fill out some information for the user");
}
};
})
.controller('myOrdersCtrl', function($scope, formData) {
$scope.product = formData.getForm();
})
services.js
angular.module('app.services', [])
.service('formData', [function(){
return {
form: [],
getForm: function() {
return this.form;
},
updateForm: function(item) {
this.form.push(item);
}
}
}]);
dizimi için geçerken
, Nesnenizin kopyasını oluşturma gibi bir şey deneyin. asla "hizmet" inden herhangi bir şeyi kesinlikle iade etmemelisiniz. Tüm değişkenler ve yöntemler bu kyeword – Kulbhushankod örnek için bir plnker koymak koymak gerekir – Kulbhushan