Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在KnockoutJS中销毁自定义订阅_Javascript_Knockout.js - Fatal编程技术网

Javascript 在KnockoutJS中销毁自定义订阅

Javascript 在KnockoutJS中销毁自定义订阅,javascript,knockout.js,Javascript,Knockout.js,我有一个视图模型,其中包含一些可观察对象,并且我已经创建了对这些可观察对象的自定义订阅。我想通过执行类似于model(NULL)的操作来清空viewmodel 这会破坏这些自定义订阅还是我必须手动删除它们?如果您要针对模型observable中的observable创建手动订阅,那么您需要保留对各个订阅的引用,并调用.dispose()自己对其进行处理。如果您要针对模型observable中的observable创建手动订阅,那么您需要保留对单个订阅的引用,并自己对其调用.dispose()。以

我有一个视图模型,其中包含一些可观察对象,并且我已经创建了对这些可观察对象的自定义订阅。我想通过执行类似于
model(NULL)
的操作来清空viewmodel


这会破坏这些自定义订阅还是我必须手动删除它们?

如果您要针对模型observable中的observable创建手动订阅,那么您需要保留对各个订阅的引用,并调用
.dispose()
自己对其进行处理。

如果您要针对模型observable中的observable创建手动订阅,那么您需要保留对单个订阅的引用,并自己对其调用
.dispose()

以下是我尝试执行的操作的简化版本:。在本例中,我应该保留对订阅的引用,然后在调用destroy时以某种方式处理它?.subscribe()返回实际订阅,这样您就可以保留对它的引用并调用.dispose()我以为你只需要在你想提前终止订阅时调用dispose,当观察对象不再使用时,knockout不处理这个问题吗?@JasonGoemaat knockout处理绑定中使用的计算观察对象,当KO清理它们的元素时(如在模板或控制流绑定场景中)。否则,手动订阅之类的内容不会自动清理。以下是我尝试执行的操作的一个大大简化的版本:。在本例中,我应该保留对订阅的引用,然后在调用销毁时以某种方式处置它?.subscribe()返回实际订阅,以便保留对它的引用并调用.dispose()我以为你只需要在你想提前终止订阅时调用dispose,当观察对象不再使用时,knockout不处理这个问题吗?@JasonGoemaat knockout处理绑定中使用的计算观察对象,当KO清理它们的元素时(就像在模板或控制流绑定场景中一样)。否则,手动订阅之类的内容不会自动清除。