0
我是一個新的KnockOutJs,我有這個問題。 這是我簡單的形式,我只會在單擊按鈕時執行Login功能。但是,該函數在頁面加載時不執行用戶單擊操作時執行。 我該如何解決它?KnockoutJs ViewModel函數
$().ready(function() {
function ViewModel() {
var self = this;
self.username = ko.observable();
self.password = ko.observable();
self.Login = function() {
console.log('do login');
};
}
ko.applyBindings(new ViewModel());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div class="form-group">
<input type="text" id="username" name="username" data-bind="value:username" placeholder="User Name" />
</div>
<div class="form-group">
<input type="password" id="password" name="password" data-bind="value:password" placeholder="Password" />
</div>
<button type="button" id="btnlogin" data-bind="click:Login()">login</button>
您必須刪除'click'綁定中的'()':您引用該方法,而不是執行它。 I.e .:'data-bind =「點擊:登錄'' – user3297291
DOM元素創建完成後,您正在執行'Login'...因此沒有點擊按鈕就會發生警報事件... – gkb