javascript - !this.get 在 Backbone todo MVC 应用程序中的含义

标签 javascript backbone.js

在示例主干 Todo MVC 应用程序中遇到以下内容,它对我来说没有任何意义,谷歌搜索了一下,没有骰子,

在待办事项模型内有一个切换方法:

// Toggle the `completed` state of this todo item.
toggle: function() {
  this.save({
    completed: !this.get('completed')
  });
}

我一直都明白!意思是“不”,这对我来说没有意义,因为我假设在触发切换事件时想要保存完成的状态。

我错过了什么?

最佳答案

基本原理: 假设,我们有一个方法,返回一个 bool 状态。

var state = obj.getState('completed');

如果getState返回true,则变量state也为true

现在:

var state = !obj.getState('completed');

我们反转结果,这意味着:如果getState返回true,则变量state 设置为 false

为了实现像 true - false - true - false 这样的切换,我们可以这样做

 a = !a

如果 a 为真,则为假,如果为假,则为真,等等

关于javascript - !this.get 在 Backbone todo MVC 应用程序中的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21969922/

相关文章:

javascript - 表单提交时显示成功消息

javascript - 如何让 Handlebars 模板返回 DOM 元素而不是 HTML 字符串?

backbone.js - 通过集合获取方法将初始化选项传递给主干模型

javascript - jQueryeach() 不适用于 Firefox,适用于 webkit

javascript - 3 个字符后执行 Ajax 搜索

JavaScript 正则表达式删除完美匹配的任何前缀

jquery - 如何从子 Jquery 中找到下一个父对象?

javascript - Backbone 中 Underscore 的 .defer() 导致错误 : Cannot call method 'apply' of undefined

javascript - Backbone - 简单的 Collection View - 无法打印项目

javascript - backbone.js:如何对模型的属性进行内联编辑