Angularjs“在路由更改时无法读取未定义的属性'childNodes'

时间:2016-03-17 04:11:06

标签: javascript angularjs angularjs-directive angularjs-scope

Stack上有很多这些非常含糊的错误问题,但没有一个对我有帮助。

当我更改路线(也从一个控制器到另一个控制器)时,我收到此错误:

TypeError: Cannot read property 'childNodes' of undefined
    at nodeLinkFn (lib.min.js:8973)
    at compositeLinkFn (lib.min.js:8226)
    at nodeLinkFn (lib.min.js:8973)
    at compositeLinkFn (lib.min.js:8226)
    at publicLinkFn (lib.min.js:8106)
    at lib.min.js:8447
    at boundTranscludeFn (lib.min.js:8244)
    at controllersBoundTransclude (lib.min.js:9020)
    at update (lib.min.js:61060)
    at Scope.$broadcast (lib.min.js:17143)

我得到的一条线索来自this question,这表明可能是因为创建了重复的元素。

有一个模板正在加载到view1和view2中(只有在从view2到view1时才会发生错误;如果我从view1开始然后转到view2它工作正常,但是如果我从那里回到view1它崩溃了。)

我删除了widgets模板,但错误没有中断。但是这个模板并没有真正起作用(这里是Jade):

section.widgets(layout="row", ng-if="widgets")
  md-card.widget(flex, layout="row")
    .left-panel
      .holder
        img.bar-graph(src="/img/bar-graph.png")
    .right-panel
      .right-contain  
        p.data-label Items Migrated
        p.datapoint {{widgets.items | number}}


  md-card.widget.left-margin(flex, layout="row", ng-if="widgets.users > 1")
    .left-panel
      .holder
        img.bar-graph(src="/img/bar-graph-2.png")
    .right-panel
      .right-contain
        p.data-label Users Migrated
        p.datapoint {{widgets.users | number}}

  md-card.widget.left-margin(flex, layout="row")
    .left-panel
      .holder
        img.bar-graph(src="/img/line-graph.png")
    .right-panel
      .right-contain
        p.data-label Data Migrated
        p.datapoint
          | {{widgets.data[0] | number}}
          span  {{widgets.data[1]}}

  md-card.widget.left-margin(flex, layout="row")
    .left-panel
      i.fa.fa-tachometer
    .right-panel
      .right-contain
        p.data-label Throughput
        p.datapoint 
          | {{widgets.throughput | number}}
          span  Mbps

这里发生了什么?!

0 个答案:

没有答案