【发布时间】:2014-07-05 05:34:07
【问题描述】:
我正在尝试实现一个密码强度检查器,它会在每次按键时更新。我的模板如下所示:
{{input type="password" id="password" value=password }}
我的控制器如下所示:
App.SignupController = Ember.Controller.extend
passwordStrength: ((key,val) ->
# check strength if val is defined
return
).property('password')
在字段中输入文本时永远不会调用passwordStrength。
然而,如果我将方法重命名为 password 并删除计算属性的名称,它确实有效:
App.SignupController = Ember.Controller.extend
password: ((key,val) ->
# check strength if val is defined
return
).property()
我宁愿理解为什么前者不起作用,并使用更明智的命名方法。
【问题讨论】:
-
你想用 passwordStrength 属性做什么?,你打算用它来显示警告信息吗?为什么不将 passwordStrength 更改为观察者?,一旦观察到的属性之一发生变化,观察者就会触发,可能将观察者命名为不同的名称,例如 checkPasswordStrength,然后设置 isPassWordStrong 属性,并在模板中使用该属性.
-
fanta 我基本上只是将您的评论放入答案并创建了一个 jsbin
标签: ember.js coffeescript