【发布时间】:2013-01-31 10:56:00
【问题描述】:
您好 StackOverflow 专家,
我想知道是否可以使用 Ember.js 的计算属性来修改属性的值,然后再返回到任何请求它的对象。
想象一下这个简单的例子: 我有一个带有邮件属性的用户对象 当我设置属性时,我希望将电子邮件地址从 first.last@example.com 更改为 first.last@anotherexample.com,然后返回它
当我请求属性时(通过 User.get ),我想取回修改后的属性。
我认为通过使用另一个“帮助”属性(例如 formatted_mail)应该非常简单,我将在其中存储和检索格式化值,但我想知道是否可以在没有其他模型属性的情况下完成类似的操作。
到目前为止,我有这个 coffescript 代码,但我在读取属性时总是得到“未定义”,即使我之前设置了它,所以我怀疑 Ember 没有在任何地方保存该值:
mail: ( ( key, value ) ->
if arguments.length == 1
return this.get 'mail'
else
return value.split( '@' )[0] + '@anotherexample.com'
).property 'mail'
感谢您的帮助!
【问题讨论】:
-
试试车把助手,比如
{{formatEmail mail}} -
嗨 ManoHaran,这似乎也是一种方式,但我觉得这种修改确实与我的模型逻辑相关,我希望这发生在模型对象上,而不是在表示层上。不过感谢您的建议!
标签: ember.js