2016-06-23 11 views
2

ng-init="checked=presenter.present"にブール値を渡そうとしているので、チェックボックスがオンになっているかどうかはわかりません。しかし、それは価値を伝えていないようです。私はng-init="checked={{ presenter.present }}"を試しましたが、エラーが発生します。私は多くのチェックボックスを持っているので、コントローラオブジェクトからブール値を渡して、チェックボックスがあらかじめチェックされているかどうかを判断できるようにする必要があります。どんな助け?ありがとう!それは自動的にperson.presentの値に基づいてオンまたはオフを取得するように、あなたは、そのチェックボックス要素の上にng-modelを使用する必要がありますコントローラオブジェクトからのAngular-ng-initチェックボックスの値

front-end code

<div class="row" ng-repeat="person in vm.people"> 
    <div class="small-12 large-3 columns"><input type="text" ng-model="person.name"></div> 
    <div class="small-4 large-1 text-center columns"> 
     <div class="checkbox"> 
      <input type="checkbox" id="{{ person.prid }}" name="{{ person.prid }}" ng-init="checked=person.present" /> 
      <label for="{{ person.prid }}"></label> 
     </div> 
    </div> 
    . 
    . 
    . 
    <div class="small-12 large-6 columns"><input type="text" ng-model="person.notes"></div> 
</div> 

controller object

vm.people = [{ 
     name: 'Evan', 
     prid: 'aaa', 
     present: true, 
     spid: 'aba', 
     speaking: true, 
     soid: 'abc', 
     soundcheck: true, 
     notes: 'stuff', 
    }, { 
     name: 'Amy', 
     prid: 'baa', 
     present: true, 
     spid: 'bba', 
     speaking: true, 
     soid: 'bbc', 
     soundcheck: true, 
     notes: 'blah blah', 
    }, { 
     name: 'Linda', 
     prid: 'caa', 
     present: true, 
     spid: 'cba', 
     speaking: true, 
     soid: 'cbc', 
     soundcheck: false, 
     notes: 'blah blah blah blah', 
    }, { 
     name: 'Tim', 
     prid: 'daa', 
     present: true, 
     spid: 'dba', 
     speaking: true, 
     soid: 'dbc', 
     soundcheck: true, 
     notes: 'blah blah blah', 
    }]; 
+0

ng-initは、ドキュメントから控えめに使用する必要があります。この指示は、テンプレートに不必要な量のロジックを追加することに悪用される可能性があります。以下のデモで見られるように、ngRepeatの特殊なプロパティをエイリアスするなど、ngInitを適切に使用するのはほんのわずかです。サーバー側のスクリプトを使用してデータを注入するためのものです。これらのほとんどの場合のほかに、ngInitではなくコントローラを使用してスコープの値を初期化する必要があります。 – PeterS

+0

コメントをお寄せいただき、ありがとうございます。 :) – Kenny

答えて

2

。基本的には、角度の2方向拘束力のある魔法がこのトリックを行います。

<input type="checkbox" id="{{person.prid}}" 
    name="{{person.prid}}" ng-model="person.present" /> 
+0

素晴らしい、そのトリックをするようだ!私は今からそれを覚えています。あなたの答えをありがとう。 (私はちょうど答えとしてそれを受け入れる、それはタイマーにある) – Kenny

+0

@ケニー確かに、np、あなたを助けてうれしい、ありがとう:-) –

関連する問題