Angularjs 防止使用角材质单击事件
在自定义角度下拉列表中有一系列切换。我遇到的问题是,切换确实会切换,但它们也会关闭下拉列表。我怎样才能防止这种情况?双击抽屉时,下拉列表仍应关闭,这是预期的行为,但单击切换时,下拉列表不应关闭 这是HTML:Angularjs 防止使用角材质单击事件,angularjs,angular-material,Angularjs,Angular Material,在自定义角度下拉列表中有一系列切换。我遇到的问题是,切换确实会切换,但它们也会关闭下拉列表。我怎样才能防止这种情况?双击抽屉时,下拉列表仍应关闭,这是预期的行为,但单击切换时,下拉列表不应关闭 这是HTML: <div class="cnt" ng-repeat="item in data"> <div class="menu-item" ng-click="toggle(item.pos);"> <md-list layout="row"
<div class="cnt" ng-repeat="item in data">
<div class="menu-item" ng-click="toggle(item.pos);">
<md-list layout="row" layout-padding="" class="layout-row" layout-align="start center" flex>
<span class="title flex" flex=""> {{item.name}}</span>
<i class="fa fa-chevron-down" ng-class="{'rotate180': item.pos==menuIsOpen, 'rotate-back': !menuIsOpen}"></i>
</md-list>
<div class="sub-menu" ng-animate="'animate'" >
<div ng-repeat='(k,v) in item track by $index'>
<div ng-if="isArray(v)">
<md-menu-item ng-if="menuIsOpen===item.pos" ng-repeat='v1 in v track by $index'>
<md-button>
<div layout="row" flex="">
<md-switch class="md-primary" name="special" ng-model="project.special" required>
<span class="">
<p flex="">{{v1.title}}</p>
</span>
</md-switch>
</div>
</md-button>
</md-menu-item>
</div>
</div>
</div>
</div>
</div>
扰流板警报:向md按钮添加md-prevent-menu-close=“true”
没有帮助
这里有一个尝试的方法
谢谢大家您应该将您的ng click=“toggle(item.pos);”
移动到
{{item.name}
{{v1.title}
您应该将ng click=“toggle(item.pos);”
移动到
{{item.name}
{{v1.title}
ha!嗯,那很容易!哈哈哈!谢谢,不客气。我们都会犯这样的错误哈嗯,那很容易!哈哈哈!谢谢,不客气。我们都会犯这样的错误
$scope.toggle = function(itemPos) {
if ($scope.menuIsOpen === itemPos) {
$scope.menuIsOpen = 0;
}
else {
$scope.menuIsOpen = itemPos;
}
}
$scope.isArray = function(val) {
return Array.isArray(val);
}
<div class="cnt" ng-repeat="item in data">
<div class="menu-item">
<md-list layout="row" layout-padding="" class="layout-row" layout-align="start center" flex ng-click="toggle(item.pos);">
<span class="title flex" flex=""> {{item.name}}</span>
<i class="fa fa-chevron-down" ng-class="{'rotate180': item.pos==menuIsOpen, 'rotate-back': !menuIsOpen}"></i>
</md-list>
<div class="sub-menu" ng-animate="'animate'" >
<div ng-repeat='(k,v) in item track by $index'>
<div ng-if="isArray(v)">
<md-menu-item ng-if="menuIsOpen===item.pos" ng-repeat='v1 in v track by $index'>
<md-button>
<div layout="row" flex="">
<md-switch class="md-primary" name="special" ng-model="project.special" required>
<span class="">
<p flex="">{{v1.title}}</p>
</span>
</md-switch>
</div>
</md-button>
</md-menu-item>
</div>
</div>
</div>
</div>
</div>