2016-02-01 2 views
0

У меня есть simple login page с 1 именем пользователя, 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

Если добавить ссылку на скрипт нокаута и добавить $ (документ) .ready (функция() { вар newModel = новый ViewModel(); ko.applyBindings (newModel); }); до конца скриптов вы можете идентифицировать ошибки оттуда. Вы можете отредактировать это несколькими способами. Одним из возможных решений может быть https://jsfiddle.net/egkxq2us/10/ –

+0

спасибо Rohith – Ock

+0

Я добавлю этот комментарий, чтобы ответить, и вы можете отметить его как принятый –

ответ

1

Если добавить ссылку Нокаут сценария и включают в себя

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

до конца скриптов вы можете идентифицировать ошибки оттуда.

Вы можете отредактировать это несколькими способами. Одним из возможных решений может быть jsfiddle.net/egkxq2us/10

Что эффективно делает isDefaultPassword как непреодолимое, чтобы вы могли переключать видимость на основе этого.