我在控制台上收到此错误Uncaught TypeError:当我从其他视图使用ionic时,无法读取未定义ionic.bundle.js:2800的属性'querySelectorAll',但我不知道这是什么意思,以及如何解决它
答案 0 :(得分:0)
免责声明:我对离子技术没有太多经验,这是基于我对一般JavaScript的经验。
您的错误可能来自于代码所依赖的特定元素,当您切换视图时找不到该元素。我是从querySelectorAll
收集的,它是Element的属性。它用于通过提供的CSS Selector获取子元素。它经常用作document.querySelectorAll
来获取页面上与查询匹配的任何元素。
从您获得的信息来看,每次视图更改时,您的代码(或内部库)似乎都试图在特定视图中的元素上使用querySelectorAll
,无论它是不是视图是否包含元素。这不可避免地导致特定元素为undefined
,因此不具有querySelectorAll
属性。这是一些模拟代码,可能会导致与您大致相同的问题。
# This would be run every time the view changes.
let myElement = document.querySelectorAll('#element-in-different-view');
myElement === undefined; // true
myElement.querySelectorAll('#foo');
// undefined is not an Element, and as such doesn't have the property `querySelectorAll`
重要提示::作为一个社区,如果您包括获得的完整追溯信息和mvce,我们可以为您提供更具体的答案。