2015-05-06 96 views
1

我正在構建一個角度測驗,我試圖根據測驗是否已經開始顯示一個按鈕。用戶在登錄時進入他們的用戶頁面,當他們沒有開始測驗時,我想顯示「開始測驗」按鈕。在測驗中,他們可以訪問他們的用戶頁面,但只有「簡歷測驗」應該可見。ng-hide ng-show不能正常工作

作爲我的最後一項測試,我把它弄糊塗了。在我的控制,我特別聲明:

vm.started = false; 

然後在HTML文件我用這樣的邏輯:

<button ng-hide"reg.started" ng-click="reg.startQuiz()">Start quiz</button> 
    <button ng-show"reg.started" ng-click="reg.resumeQuiz()">Resume quiz</button> 

所以,你會認爲,因爲開始時設置爲false,只有開始測驗按鈕會顯示向上。但是,這兩個按鈕不斷顯示,我似乎無法修復它。當我在vm.started上做一個console.log時,它說錯誤。 ng-click工作正常。使用函數(返回布爾值)也不起作用。

+1

它應該不是'''按鈕ng-hide「vm.started」>開始測驗'''。如果你使用console.log(reg.started)'''會發生什麼? –

+0

我使用controllerAs語法,所以reg.started會返回undefined。 vm.started == reg.started在視圖中。 – idontknow

+0

啊,我不熟悉控制器,現在就讀一下吧。只是認爲這可能是原因@idontknow –

回答

2

你確定你沒有忘記「=」嗎?

<button ng-hide="reg.started" ng-click="reg.startQuiz()">Start quiz</button> 
<button ng-show="reg.started" ng-click="reg.resumeQuiz()">Resume quiz</button> 
+0

哇,這樣的白癡,令人難以置信。是的,我忘了=,嘆氣。它的工作現在正常 – idontknow

+0

大聲笑,別擔心,它碰巧給大家! ;) 祝一切順利!!! –