使用淘汰赛的简单登录页面

时间:2016-02-01 12:07:06

标签: jquery html knockout.js login

我这里有simple login page个用户名,1个密码和1个登录按钮。我在这里做的是当用户键入用户名和密码,然后单击“登录”按钮,这是一个函数

self.login = function(username,password){
  if(password =="default"){
    return isDefaultPassword(true);
  }else{
    return isDefaultPassword(false);
  }
  ko.applyBindings(self.viewModel);
}

将被执行,然后他将检查输入的密码是否为“默认”,如果是,那么我将另一个<input type="password" data-bind="visible: isDefaultPassword(true)"可见,那么我应该有1个用户名输入和2个密码输入和1个登录按钮在登录页面。

但我的问题是,为什么第二个密码输入标签在我加载登录页面时显示在开头,而不是在执行函数self.login之后。当我点击登录按钮时似乎无法调用self.login函数。我在这里弄错了什么?

1 个答案:

答案 0 :(得分:1)

如果您添加了敲除脚本参考并包含

$(document).ready(function()
{
 var newModel = new viewModel(); 
ko.applyBindings(newModel); 
});

到脚本的末尾,您可以从中识别出错误。

您可以通过多种方式对其进行编辑。一种可能的解决方案可能是jsfiddle.net/egkxq2us/10

这有效地使isDefaultPassword成为可观察的,以便您可以根据它切换可见性。