我正在构建一个 Angular 测验,我试图根据测验是否已经开始来显示一个按钮。用户登录后转到他们的用户页面,当他们还没有开始测验时,我想显示“开始测验”按钮。在测验期间,他们可以转到他们的用户页面,但随后只能看到“继续测验”。
作为我的最终测试,我将其简化为这个。在我的 Controller 中,我特别声明:
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>
因此您会假设,由于 started 设置为 false,因此只会显示开始测验按钮。但是,这两个按钮一直显示,我似乎无法修复它。当我在 vm.started 上执行 console.log 时,它说 false。 ng-click 工作正常。使用函数代替(返回 bool 值)也不起作用。
最佳答案
你确定你没有忘记“=”吗?
<button ng-hide="reg.started" ng-click="reg.startQuiz()">Start quiz</button>
<button ng-show="reg.started" ng-click="reg.resumeQuiz()">Resume quiz</button>
关于javascript - ng-hide ng-show 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30089089/