复选框删除[checked] angular 2

时间:2016-10-17 12:10:15

标签: angular

HTML

<div class="noteCheckBox">
    <input type="checkbox" id="noteCheckBox" [checked]="checkbox" (change)="stateCheckBox()">
        <label for="noteCheckBox" class="noteLabel">AnyText</label>
</div>

打字稿

import { Component } from '@angular/core';
import { CookieService } from '../../services/cookie/cookie.service';

@Component({
    selector: 'pagCheckBox',
    templateUrl: './app/html/pagCheckBox.component.html',
    styleUrls: ['app/css/pagCheckBox.component.css']
})

export class PagCheckBox {

    constructor(private cookieService: CookieService) {}

    ngOnInit() {
        this.checkbox = this.cookieService.getCookie('checkbox');
    }

    stateCheckBox(event) {
        let state = $("#noteCheckBox").prop("checked"); //true or false
        this.checkbox = this.cookieService.setCookie('checkbox', state);
    }
 }

我有一个CookieService,其中包含有关状态复选框(truefalse)的信息(来自Cookie浏览器)。

如果(checkbox == true)则需要在Html中添加at checked以删除。

我尝试将[checked]="checkbox"和复选框动态更改(truefalse)和attr关闭或打开,但效果不佳。

1 个答案:

答案 0 :(得分:3)

  • 绑定到属性而不是属性使用[attr.fooAttr]
  • 要删除属性,请指定null false将添加值为"false"的属性,但在null时不会删除该属性。 DOM。
[attr.checked]="checkbox ? true : null"