TypeError:无法读取未定义的属性“ $ parent”

时间:2018-07-17 05:39:16

标签: angularjs angularjs-material side-menu

angular-material-sidemenu版本:1.0.5

我正在使用gulp来构建和提供Web应用程序。 当我使用gulp-serve时,项目从我的root / src / main /文件夹开始,而angular-material-sidemenu正常运行。

但是当我进行gulp-build时,将生成一个生成并将其保存在root / build / www中,而angular-material-sidemenu将被压缩并保存在vendor.js文件中。

<md-sidemenu-group>
  <md-sidemenu-button ui-sref="journal">
      <md-icon md-svg-src="content/images/PL_Services.svg">book</md-icon>
      <span data-translate="sidebar.menu.journal">journal</span>
  </md-sidemenu-button>
</md-sidemenu-group>

这正常工作并且加载了日记状态,但是

<md-sidemenu-group>
    <md-sidemenu-content collapse-other="true"
            md-svg-icon="content/images/PL_Contacts.svg"
            md-heading="{{'sidebar.menu.contacts.title'|translate}}"
            md-arrow="true">
      <md-sidemenu-button ui-sref="contacts">
        <md-icon class="ng-binding ng-scope material-icons" role="img">
            person
        </md-icon>
        <span data-translate="sidebar.menu.contacts.view">View</span>
      </md-sidemenu-button>

      <md-sidemenu-button ui-sref="trustContact">
        <md-icon class="ng-binding ng-scope material-icons" role="img">person_add</md-icon>
        <span data-translate="sidebar.menu.contacts.new">
            Add
        </span>
      </md-sidemenu-button>
    </md-sidemenu-content>
  </md-sidemenu-group>

这并没有展开,而是在md-sidemenu-content内显示了两个按钮。

抛出错误TypeError:无法读取未定义的属性“ $ parent”。

enter image description here

编辑:

这是控制器代码:

export default function() {

  this.visible = false;

  this.changeState = function() {

    if (!this.visible && this.collapseOther){
        var allmenu = document.querySelectorAll('.md-sidemenu-toggle');
        for (var i=0; i<allmenu.length;i++){

            angular.element(allmenu[i]).scope().$parent.$mdSidemenuContent.visible = false
        } 
    }
    this.visible = !this.visible;
  };

}

0 个答案:

没有答案