javascript - "Not" Handlebars 模板内的运算符(operator)

标签 javascript ember.js handlebars.js

以下面的示例为例,如果未选中复选框,则禁用按钮,并在选中时启用按钮:

Handlebars :

<form {{action "register" on="submit"}}>
  {{input type="checkbox" checked=isAgreed}}
  {{input type="submit" value="Register" class="btn btn-primary" disabled=isNotAgreed}}
</form>

Javascript:

App.ApplicationController = Ember.ObjectController.extend({
  content:{
    isAgreed:false
  },
  isNotAgreed:function(){
    return !this.get('isAgreed');
  }.property('isAgreed'),
  actions:{
    register:function(){
      alert("registered");
    }
  }
});

如本 JSBin 所示.

我想知道是否有更简洁的方法来执行此操作。例如,删除 isNotAgreed 可观察属性并仅在我的 Handlebars 模板中使用一些东西,例如 {{input type="submit"value="Register"disabled=!isAgreed}}。有办法做到这一点吗?

最佳答案

或者,您可以绑定(bind)一个类 disabled,当 isAgreedfalse 时,该类将为 true,如下所示。

<button type="submit" {{bind-attr class=":btn :btn-primary isAgreed::disabled"}}>Register</button>  

由于您还使用了 twitter-bootstrap,因此此 disabled 类将为按钮提供类似 disabled 的行为。

这是一个简化的 bin你的问题。

关于javascript - "Not" Handlebars 模板内的运算符(operator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18699938/

相关文章:

javascript - Handlebars 部分上下文

java - 尝试多次调用 ANT 目标时失败

javascript - 从 Shoutcast 读取歌曲

javascript - 从 AJAX 调用的 PHP 脚本,返回值不会一直显示

javascript - jQuery DataTable - 单击时获取最接近的 td 元素的类

javascript - IE8 中的 "Stop running the script error"大集合

ember.js - 如何手动重用错误路由?

ember.js - 客户端 Javascript 应用程序 - 没有哈希标记的 url 路由

ember.js - 关于如何在点击时记录 Google Analytic 事件的任何好主意?

javascript - Handlebars.js - 全局上下文