【发布时间】:2015-12-02 05:21:38
【问题描述】:
我有一个包含非常基本的“电子邮件”信息的视图模型:
var emailsViewModel = function() {
var self = this;
self.emails = ko.observableArray([
{from: 'From', subject: 'Subject', date: '9/6/2015', flagged: false, read: false},
{from: 'From', subject: 'Subject', date: '9/6/2015', flagged: false, read: false}
]);
}
ko.applyBindings(emailsViewModel);
这些电子邮件使用for each 数据绑定显示:
<div id="email-browser" data-bind="foreach: emails">
<div class="email" data-bind="css: {unread: read == false}">
<div class="select"><input type="checkbox"></div>
<div class="flag"><i class="fa fa-flag" data-bind="css: {flagged: flagged == true}></i></div>
<div class="from" data-bind="text: from"></div>
<div class="subject" data-bind="text: subject"></div>
<div class="date" data-bind="text: date"></div>
</div>
</div>
所以基本上,有几个“电子邮件”都有一个 from 属性、subject 属性、date 属性、flaged 属性和 read 属性。
我试图弄清楚如何在单击时切换和更新标记和读取属性的布尔真/假值。因此,如果用户要单击带有一类标志的div,它会将对象的布尔值从 false 切换为 true 或将 true 切换为 false。关于如何实现这一目标的任何想法?
【问题讨论】:
标签: knockout.js