knockout.js 有没有一种方法可以在敲除中订阅可观察对象的变化

vcirk6k6  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(139)

我对击倒相当陌生,我们有一个像这样的可观察物体
this.deeplinkPopupModule = ko.observable({ view: [], viewModel: null });
我希望每当视图或viewModel被更改或更新时触发一个函数。
我试过这样做,但这不起作用,我也试过一些其他的方法,但这些都没有得到触发。

this.deeplinkPopupModule.subscribe(function(newVal){

     console.log("inside module subscribe");

     if(this.deeplinkPopupModule.view.length==0) 
         this. addNewOpened(false);

  });

我不能使用任何插件,我也尝试了sroes回答这里Knockout Subscribe to any change in observable complex object,但它从来没有触发请让我知道,如果我应该包括任何更多的信息,这一点,并感谢您的帮助。

ckx4rj1h

ckx4rj1h1#

我认为您遇到的问题是deeplinkPopupModule上的属性不是可观察的。如果没有这些属性,@sroes答案将不起作用。下面是一个工作示例。
第一个

wn9m85ua

wn9m85ua2#

(函数(新值){

console.log("inside module subscribe");

 if(this.deeplinkPopupModule.view.length==0) 
     this. addNewOpened(false);

});

相关问题