ionic 5 Angular 10 错误:未捕获(承诺中):TypeError:无法读取未定义的属性(读取“appendChild”)

问题描述 投票:0回答:3
ERROR Error: Uncaught (in promise): TypeError: Cannot read properties of undefined (reading 'appendChild')
TypeError: Cannot read properties of undefined (reading 'appendChild')
    at StackController.transition (ionic-angular.js:2714:1)
    at ionic-angular.js:2611:1
    at StackController.<anonymous> (ionic-angular.js:2735:1)
    at Generator.next (<anonymous>)
    at fulfilled (tslib.es6.js:71:42)
    at ZoneDelegate.invoke (zone-evergreen.js:364:1)
    at Zone.run (zone-evergreen.js:123:1)
    at zone-evergreen.js:857:1
    at ZoneDelegate.invokeTask (zone-evergreen.js:399:1)
    at Zone.runTask (zone-evergreen.js:167:1)
    at resolvePromise (zone-evergreen.js:798:1)
    at resolvePromise (zone-evergreen.js:750:1)
    at zone-evergreen.js:860:1
    at ZoneDelegate.invokeTask (zone-evergreen.js:399:1)
    at Object.onInvokeTask (core.js:27425:1)
    at ZoneDelegate.invokeTask (zone-evergreen.js:398:1)
    at Zone.runTask (zone-evergreen.js:167:1)
    at drainMicroTaskQueue (zone-evergreen.js:569:1)
    at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:484:1)
    at invokeTask (zone-evergreen.js:1621:1)

这个问题我已经困扰好几天了。我读过它是关于导航的,关于如何声明路线的,但我找不到具体的解决方案。我尝试了几种替代方案,但没有一个成功。

当我在选项卡之间导航时,只会出现错误,并且暂时不会影响程序的流程。

值得澄清的是,我没有使用 Jquery。

有人知道这个错误吗?

有人超过他了吗?

记住=> 离子 v5 角度 v10.

我认为有了这些信息就可以了,如果您需要更多信息,请告诉我。非常感谢!!!

javascript ionic-framework appendchild angular10
3个回答
2
投票

因此,经过大量研究,破坏我程序的是

<ion-split-pane>
标签内有一个
<ion-router-outlet>
标签。 split-pane使用路由器(ion-router-outlet)来实现各种功能(官方文档 - 有点稀疏 - ionicframework.com/docs/v5/api/split-pane),我必须解决的是改变它将 ion-router-outlet 标记为 ion-nav,我的所有问题都得到了解决。显然,在使用的离子分割窗格的该组件内,而不是在全局组件中。非常感谢!


0
投票

该错误告诉您,代码中的某处有一个变量被假定为有效的 HTML 元素,但它本质上是未定义的。

appendChild
的示例:

const node = document.getElementById("foo");
const textnode = document.createTextNode("Water");
node.appendChild(textnode);
<div id="foo"></div>

现在让我们看一个不起作用的示例:

const node = document.getElementById("foo");
const textnode = document.createTextNode("Water");
node.appendChild(textnode);
<div id="bar"></div>

请注意,在这两种情况下,Javascript 都会尝试查找具有

id
"foo"
append
文本节点的元素。但是,在第一个示例中存在这样一个节点,而在第二个示例中,我已将
id
"foo"
更改为
"bar"
,因此未找到具有
id
的元素,并且您出现错误。
很可能与此问题类似,某些东西正在搜索在搜索时不存在的元素,尽管如此,它的 

"foo"

正在被调用,但您的错误抱怨的是

appendChild
值about 没有名为
undefined
的属性。
    


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.