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