【发布时间】:2016-09-28 11:38:24
【问题描述】:
我已经在 Angular 中创建了自定义模态指令,但似乎转换不起作用,我不知道为什么。
在我的指令隔离范围内,我有方法 toggleModal() 将 modalState 切换到 true / false。所以除了动画之外一切都基本正常
HTML:
<span class="glyphicon glyphicon-edit" ng-click="toggleModal()"></span>
<div class="annotation-panel"
ng-class="{'annotation-panel-active' : modalState == true, 'annotation-panel-inactive' : modalState == false}">
<div class="annotation-modal" ng-class="{'active':modalState == true, 'inactive':modalState == false}">
<button type="button" class="btn btn-default" ng-click="toggleModal()">Close</button>
</div>
</div>
CSS:
.annotation-panel{
display: none;
position: fixed;
top:0;
left:0;
z-index: 1000;
width: 100%;
height: 100%;
background: rgba(0,0,0,0.7);
}
.annotation-panel-active{
display: block!important;
}
.annotation-panel-inactive{
display: none!important;
}
.annotation-modal{
position: fixed;
z-index: 1001;
left:10vw;
top: 0;
width: 80vw;
height: auto;
overflow-y: scroll;
opacity: 0;
background-color: whitesmoke;
transition: all 0.5s linear;
}
.annotation-modal.active{
top: 10vh;
opacity: 1;
}
.annotation-modal.inactive{
top: 0;
opacity: 0;
}
所以基本上使用ng-class im在两个类之间切换
.active 和.inactive 但似乎过渡并没有使班级的变化产生动画效果,我想我有一些普遍的错误,但找不到。我不使用ngAnimate,因为我正在制作模块,所以我没有很多依赖项,这就是我使用类自定义它的原因
【问题讨论】: