【发布时间】:2015-09-11 22:44:22
【问题描述】:
{{showSubHeader}}
<div ng-show="showSubHeader" class="topPull" draggable >
<button class="button-icon ion-bag"></button>
</div>
</div>
表达式{{showSubHeader}} 从真变为假,从假变为真就好了。
showSubHeader 有一个布尔值。
即showSubHeader=true 或showSubHeader=false
angular 正在获取值的变化。当我更改值时,我在控制台中看到 ng-show 表达式发生了变化,但它不会隐藏元素,即使它是 ng-show="false"。
我该如何解决这个问题?怎么回事?>
编辑:draggable 是一个如下所示的指令:
.directive('draggable', function ($animate) {
return function(scope, element) {
var startX = 0, startY = 0, x = 0, y = 0;
var el = element[0];
console.log(el)
el.draggable = true;
element.css({
position: 'relative',
cursor: 'pointer'
});
el.addEventListener(
'dragstart',
function(e) {
element.addClass("animated slideInDown")
return false;
},
false
);
el.addEventListener(
'dragend',
function(e) {
element.addClass("animated slideInUp")
scope.checkBill();
return false;
},
false
);
}
})
支票账单
$scope.checkBill= function(){
$scope.$apply(function(){
$scope.showSubHeader=false;
})
$state.go('menu.TotalBill', {}, {inherit: true, notify:true})
}
【问题讨论】:
-
只需制作一个 jsfiddle 并意识到它可以工作 ;)
-
你的 topPull 类在做什么?
-
一定是别的东西...
-
你100%确定
typeof showSubHeader === boolean吗?如果计算结果为字符串,它将始终显示 ("false" === true)。 -
我知道。我什至对角度都不陌生。我了解这里的工作原理,我不是第一次使用它。但我完全坚持这个
标签: angularjs