在做cesium模型旋转时,遇到的问题,当我调用这个方法想打印里面的值,却始终报这个错
问题翻译过来就是:
代理上的“get”:属性“__knockoutObservables”是代理目标上的只读且不可配置的数据属性,但代理未返回其实际值(应为“#<Object>”,但得到的是“#<Object>”)
解决办法:
用toRaw
toRaw
函数的作用是获取 inputValue
的原始值,绕过可能存在的代理对象。这种情况下,如果 inputValue
是一个代理对象,直接使用 Cesium.knockout.getObservable
可能会导致错误,因为代理对象可能会干扰到 Cesium.knockout
的内部逻辑,导致无法正确地获取观察对象。
通过使用 toRaw
函数,你可以确保 Cesium.knockout.getObservable
只会作用于 inputValue
的原始值,从而避免了可能与代理对象相关的问题,也就避免了你之前提到的错误。
总的来说,toRaw
的作用是确保在使用 Cesium.knockout.getObservable
时操作的是 inputValue
的原始值,而不是代理对象,从而规避可能由代理对象引起的错误。
参考博主: https://blog.csdn.net/qq_44959068/article/details/124481369