无法读取未定义的属性“ querySelectorAll”

时间:2018-09-30 23:54:16

标签: javascript ionic-framework

我在控制台上收到此错误Uncaught TypeError:当我从其他视图使用ionic时,无法读取未定义ionic.bundle.js:2800的属性'querySelectorAll',但我不知道这是什么意思,以及如何解决它

1 个答案:

答案 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,我们可以为您提供更具体的答案。