ng-hide ng-show 无法正常工作

ng-hide ng-show not working as it should

我正在 angular 中构建一个测验,我试图根据测验是否开始显示一个按钮。用户登录后转到他们的用户页面,当他们还没有开始测验时,我想显示 "start quiz" 按钮。在测验期间,他们可以进入他们的用户页面,但只有 "resume quiz" 应该可见。

作为我的最终测试,我将其简化为这个。在我的控制器中,我特别声明:

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 时,它说 false。 ng-click 工作正常。使用函数代替(返回布尔值)也不起作用。

您确定没有忘记“=”吗?

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