如何在离子复选框中使用ngModel?

时间:2016-01-21 07:26:53

标签: javascript angular ionic-framework ionic2

我尝试使用ngModel,但ngModel并没有在那里工作。 我的代码:

<ion-checkbox *ngFor="#item of items" [(ngModel)]="item.checked">
  {{item.name}}
</ion-checkbox>

但是我收到了一个错误:

  

EXCEPTION:在AddInterestItem @ 5:2&#39;中检查表达式。检查后发生了变化。以前的价值:&#39; false&#39;。当前价值:&#39; false&#39;在[在AddInterestItem @ 5:2中签入]

示例数据:

this.items = [ 
  {name: 'Dancing', checked: false}, 
  {name: 'Jazz', checked: false}, 
  {name: 'Metal', checked: true}, 
  {name: 'Pop', checked: false}, 
  {name: 'Rock\'n\'Roll', checked: false}, 
  {name: 'Folk Metal', checked: true} 
];

2 个答案:

答案 0 :(得分:2)

我不熟悉<ion-checkbox>。 但当我试图用正常的方式重复你的故事 <input type="checkbox" />, 通过直接将input type="checkbox"应用于<ul><li *ngFor="#item of items" >,我无法获得成功。 所以我做了什么,我拿了input type="checkbox"并将<input type="checkbox" *ngFor="#item of items" [(ngModel)]="item.checked" />{{item.name}} /* I don't know some error occurs. you can check my plunkr by modifying it/*. 放在其中,它开始按预期工作。

我觉得MyAnswer可以帮助你。

在mycase中不起作用

    <ul>
        <li *ngFor="#item of items">{{item.name}}
            <input type="checkbox" [(ngModel)]="item.checked" />
        </li>
    </ul>

工作正常

    fineOneBySocialLogin(profile).then(function (user) {

    }, function (err) {
        return done(err, null);
    })



var fineOneBySocialLogin = function (req, res) {
    auth.findOne({ username: req.emails[0].value }).then(function (user) {
        if (!user) {
            console.log('testing 1');
            var userForm = {};
            userForm = {
                email: req.emails[0].value
            };
            user.createUser(userForm).then(function(user) {
                if (user) {
                    console.log('testing 2');
                    auth.findOne({ username: req.emails[0].value }).then(function (user) {
                        if (user) {
                            console.log('testing 3');
                            return user;
                        }
                    });
                }
            });
        } else {
            return user;
        }
    });
}

答案 1 :(得分:2)

只需快速更新Ionic 4:

HTML:

<ion-checkbox [(ngModel)]="iLikeIt.isChecked"></ion-checkbox>

Ts:

iLikeIt={isChecked:false}