我有一个KnockoutJS和可见的绑定快速(希望简单)的问题。我似乎无法让它为下面的代码工作。所有它应该做的是显示一个表单,而“signedIn”是假的,一旦表单被提交,表单应该消失,并且应该显示“你已经以(用户名)登录”。如何正确使用KnockoutJS可见绑定?
<form class="pad-bottom" data-bind="visible: !signedIn, submit: signIn" onsubmit="signIn()">
<div class="form-group">
<label for="username">Sign In</label>
<input class="form-control" type="text" name="username" id="username" placeholder="Enter your userame" />
</div>
<button type="submit" class="btn btn-primary">Sign In</button>
<br />
</form>
<div data-bind="visible: signedIn">
<p>You are signed in as <strong data-bind="text: username"></strong></p>
var vm = {
username: ko.observable(),
signedIn: ko.observable(false),
signIn: function() {
vm.username($('#username').val());
vm.signedIn(true);
}
}
目前我没有看到绑定似乎工作,因为它总是显示形式和总是显示“您的登录身份为”文本。我觉得我失去了一些明显的东西,但我希望一组新鲜的眼睛可以帮助我找到它。如果有任何帮助,我正在使用Visual Studio 2013。
'可见:signedIn'总是返回'FALSE'因为'signedIn'是可观察到的功能。你最好用'visible:!signedIn()'去。另外,'submit'绑定处理程序和本地'onSubmit'都不需要。 – haim770