0

angular-material-sidemenu 版本:1.0.5

我正在使用 gulp 来构建和提供我的网络应用程序。当我使用 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: Cannot read property '$parent' of undefined。

在此处输入图像描述

编辑:

这是控制器代码:

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;
  };

}
4

0 回答 0