考虑这个打字稿类(但我认为打字稿与问题无关,除了掩盖底层defineProperty
调用):
class Model
{
public TeamId: number;
constructor()
{
var self = this;
ko.track(this);
ko.getObservable(this, "TeamId").subscribe(function (newValue)
{
var o = ko.getObservable(self, "link");
o.valueHasMutated();
});
}
get link(): string
{
return `/blah/blah/team/${this.TeamId}`;
}
}
请注意,我正在使用映射插件。
该link
酒店使用电流TeamId
为该团队建立合适的链接。我的问题是:我如何告诉淘汰赛当TeamId
属性发生变化时,属性也会发生变化link
?我认为subscribe
回调会做到这一点,但getObservable
返回 null。我猜这是因为它不适用于使用defineProperty
. 但现在我被卡住了,因为我想使用这种语法但不能让它工作。