javascript - Ember.js 计算属性未触发

标签 javascript ember.js handlebars.js

我有一个计算属性,在选中复选框时不会触发。如果选中,我只需要将属性的值从 1 切换到 0。

App.Address = Ember.Object.extend({
  shipType: 1,

  shipType: function() {
    var type = this.get('shipType');
    if (type === 1) {
      type = 0;
      return type;
    } else {
      type = 1;
      return type;
    };
  }.property('shipCommerical')
}) 

在我的模板中:

<label>{{view Ember.Checkbox checkedBinding='shipCommerical'}} Check Me </label>

我有其他计算属性位于同一位置并以相同的方式。唯一的区别是它们是文本字段而不是复选框。这有什么区别吗?

最佳答案

好吧,您的“船舶商业”拼写错误,但看来您在两个地方都拼写错误。此外,您还有一个递归循环,您的计算属性需要自身,我假设您打算在计算属性内使用 shipCommercial 而不是 shipType

模板

<label>{{input type='checkbox' checked=shipCommercial}} Check Me </label>

属性

shipCommercial:true,
shipType: function() {
  var shipCommercial = this.get('shipCommercial');
  return shipCommercial ? 0 : 1;
}.property('shipCommercial')

示例

http://emberjs.jsbin.com/zimopise/1/edit

关于javascript - Ember.js 计算属性未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619906/

相关文章:

javascript - 如何打印handbars文件中的 'body'元素?

javascript - 如何更新 MongoDB 中已有的字段

javascript - POST 以打开 javascript 窗口并让 Flash 关闭窗口

javascript - 从 ajax 捕获数据并对其进行操作的最佳方法

string - 如何使用Handlebars.js显示字符串列表

javascript - mustache .js : large JSON dictionary & smaller know list of entries to display randomly onfly?

javascript - Jquery 在更改时获取 slider 值

ember.js - 使用带有 Ember Data 2.0 的 Fixture Adapter 在模型上进行 Store.findAll

javascript - Ember 问题: Uncaught Error: Could not find module handlebars

javascript - Ember.js 弃用 registerImplementation 以支持 App.initializer