angular - statusen för md-checkboxen i angular2


Jag har detta md-checkbox-element:

<md-checkbox (change)="showPaidOrders($event)">
    <span class="show-orders-label">{{'paid' | translate}}</span>
</md-checkbox>

och dess TS-implementation :

showPaidOrders(event) {
    if (event.target.checked) {
      return true;
    }   
}

Varför det är tröstande

kan inte läsa egenskapen 'checked' av undefined

det fungerar på det vanliga input-elementet i dess checkbox-typ, finns det något alternativ för att konstant kontrollera (vid varje klick) statusen för md-checkbox?

Svar #1

https://github.com/angular/material/issues/535

md-checkbox stöder inte checked. Om du tycker att det är nödvändigt kan du skicka en pull-begäran som uppdaterar direktivets scope för att acceptera ng-checked/checked som ett attribut och skicka det värdet när det finns till inputen inom direktivets mall.

men det finns en lösning

<md-checkbox ng-model="truthy" ng-checked="true" label="md-checkbox">{{truthy}}</md-checkbox>

http://plnkr.co/edit/RKwM5mRYLh5k6MoAyLnS?p=preview

Svar #2

Försök använda event.checked istället för event.target.checked. <md-checkbox> använder sin egen change, inte den vanliga <checkbox>'s. Ta en titt på MdCheckboxChange.