所以我的角度應用程序是一個龐然大物,所以我在這裏粘貼相關部分只是爲了看看在SO的角度大師是否可以找到任何可以幫助我的東西。根據函數返回值,角度顯示不顯示/隱藏
我有我的HTML代碼如下所示:
<span class='span_class' ng-show='{{showHideBasedOnFlag(id)}}'>
...data...
</span>
及其在角我有:
$scope.showHideBasedOnFlag = function(id)
{
var flag = getFlag(id);
if(flag == 1) return true;
if(flag == -1) return false;
return true;
}
我有三個跨度,其中第一有1一個標誌,因此應該是如圖所示,另外兩個標記爲-1,所以應該隱藏。這可以在頁面加載時按預期工作(第一個範圍是show,另外兩個隱藏)。但是當我審視跨度2和3,他們的HTML代碼如下所示:
<span class='span_class ng-hide' ng-show="false">
所以我的第一個問題是:這是正常的ng-hide
通過角爲ng-show
得到補充以及要還存在?當我的代碼中有代碼ng-show='{{showHideBasedOnFlag(id)}}'
時,兩者都會被添加。其次,更重要的是:我有一個按鈕,點擊後,將範圍2和3的標誌更新爲值1
。發生這種情況後,我預計跨度顯示,他們沒有。然後我明確地調用了showHideBasedOnFlag
函數和console.logged來確保函數返回了正確的true和false。但是,我的HTML DOM並沒有改變,跨度仍然隱藏。
我打破了這個念頭,並已用完了想法....任何幫助非常感謝!
刪除'{{}}'從你的代碼 – vinayakj
@vinayakj:試過了,沒有幫助:( –
NG秀髮生在一個表達式...像'NG-顯示=「myVar」',其中myVar是真或假 – WalksAway