我无法使用Ember.computed.alias
绑定到对象的属性。以下是代码段。
代码
(function () {
'use strict';
var book = Em.Object.create({
title: 'Just For Fun',
author: Em.Object.create({
name: 'Linus Torvalds'
}),
authorName: Ember.computed.alias('author.name')
});
// expected "Linus Torvalds", actual: dump of some object (perhaps author)
console.log('Before author name change:', book.get('authorName'));
book.get('author').set('name', 'Linus Torvalds & David Diamond');
// expected "Linus Torvalds & David Diamond", actual: dump of some object (perhaps author)
console.log('After author name change:', book.get('authorName'));
})();
我想在authorName
内name
更改时自动更新author
。
请帮助我理解我所缺少的内容。
答案 0 :(得分:0)
您可以尝试使用Object.extend然后创建对象
(function () {
'use strict';
var Book = Em.Object.extend({
title: 'Just For Fun',
author: Em.Object.create({
name: 'Linus Torvalds'
}),
authorName: Ember.computed.alias('author.name')
});
var book = Book.create();
// expected "Linus Torvalds", actual: dump of some object (perhaps author)
console.log('Before author name change:', book.get('authorName'));
book.get('author').set('name', 'Linus Torvalds & David Diamond');
// expected "Linus Torvalds & David Diamond", actual: dump of some object (perhaps author)
console.log('After author name change:', book.get('authorName'));
})();