0
これは私のコードを簡略化したものですが、私ができる必要があるのは、それぞれの入力フィールドの出力をlocalStorageに保存してお互いを上書きすることなく保存することです。localstorageの角度とオブジェクト
Atm、それは動作しません。私はそれを保存するために両方の入力を埋める必要があります。
var app = angular.module("app", []);
app.controller("IndexController", ["$scope", function($scope) {
this.list = {
"mandag": {},
"tirsdag": {}
};
//LOCALSTORAGE
this.Save =() => {
localStorage.setItem("Ret", JSON.stringify(this.list.mandag));
}
this.addFood = (day, title) => {
this.list[day] = {
"food": title,
"ingredients": []
};
console.log(this.list);
}
this.removeFood = (day) => {
this.list[day].food = "";
}
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body ng-app="app" >
<div ng-controller="IndexController as vm">
<div ng-repeat="(day, item) in vm.list track by $index">
<h3>{{day}}</h3>
<form class="" name="ret" ng-submit="vm.addFood(day, vm.newFood[$index]);vm.newTodo[$index] = ''">
<input placeholder="Ædelse" type="text" id="foo" ng-model="vm.newFood[$index]" ng-disabled="item.food" value="" required/>
<button ng-disabled="ret.$invalid" ng-click="submitted=true; vm.Save()" ng-hide="submitted">Go</button>
</form>
<button ng-click="vm.removeFood(day); submitted=false" ng-show="submitted">X</button>
</div>
</div>
</body>
何が本当の問題ですか両方の入力を満たすまで "Go"ボタンが無効になっていますか? – jitender
コードペインを試してください。それぞれのGoボタンは無効になっています。 –
お互いを上書きしないようにするには、それらを異なる変数として保存するだけです。 –