カードを挿入する小さな AngularJS ツールがあります。私の目標は、それらをローカルに保存することです。カードの配列については解決しましたが、カードのコンテンツについては解決できませんでした。これは「contenteditable」です。
そのためのプランカー(JS)を次に示します(赤い大きなボタンはlocalStorageを削除します。必ず広いウィンドウを開いてください):http://plnkr.co/edit/SlbWZ5Bh62MDKWViUsMr
これは私のコードです(CoffeeScriptを使用。JSについては上記のPlunkerを参照してください):
これはユーザー入力のマークアップです
<div class="card card-{{ card.color }}">
<header>
<p class="points" contenteditable></p>
<p class="number" contenteditable>#</p>
<h2 class="customerName" contenteditable>{{ card.customer.name }}</h2>
<h3 class="projectName" contenteditable>Project Name</h3>
</header>
<article>
<h1 class="task" contenteditable>Title</h1>
<p class="story" contenteditable>Description</p>
</article>
<footer>
<div class="divisions">
<p class="division"></p>
<button ng-click="deleteCard()" class="delete">X</button>
</div>
</footer>
</div>
<div class="card card-{{ card.color }} backside">
<article>
<h2 class="requirement">Requirements</h2>
<p contenteditable></p>
</article>
</div>
ここに、上記のコントローラーにあったカード配列の localStorage セットアップが表示されます。
Card = (@color, @customer) ->
$scope.cards = []
json = localStorage.getItem "cards"
getCards = JSON.parse(json) if json?
$scope.cards = $scope.cards.concat getCards if getCards?
$scope.reset = ->
localStorage.clear()
$scope.save = ->
cards = []
for card in $scope.cards
cards.push
color: card.color
customer:
name: card.customer.name
localStorage.setItem "cards", JSON.stringify(cards)
$scope.addCardRed = (customer) ->
$scope.cards.push new Card("red", customer)
$scope.save()
ユーザー入力を localStorage のさまざまなフィールドに保存するにはどうすればよいですか? 連載という言葉を聞いたことがありますが、私の場合は意味がわかりません!
よろしくお願いします!