我正在构建一个角度测验,我试图根据测验是否已经开始显示一个按钮。用户在登录时进入他们的用户页面,当他们没有开始测验时,我想显示“开始测验”按钮。在测验中,他们可以访问他们的用户页面,但只有“简历测验”应该可见。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工作正常。使用函数(返回布尔值)也不起作用。
它应该不是'''按钮ng-hide“vm.started”>开始测验'''。如果你使用console.log(reg.started)'''会发生什么? –
我使用controllerAs语法,所以reg.started会返回undefined。 vm.started == reg.started在视图中。 – idontknow
啊,我不熟悉控制器,现在就读一下吧。只是认为这可能是原因@idontknow –