gpt4 book ai didi

knockout.js - Knockout JS 绑定(bind)更新困惑

转载 作者:行者123 更新时间:2023-12-03 04:40:28 24 4
gpt4 key购买 nike

我是KO和JS的新手,并做了以下测试。我希望在 vm.authenticated == false 时看到登录按钮,在 vm.authenticated == true 时看到注销按钮。我看到标题正确更改,因此我似乎绑定(bind)正常,但 KO if 似乎不起作用。我尝试使 authenticated 可观察,但这确实修复了它。如有任何帮助,我们将不胜感激。

感谢和问候

这是 HTML 代码:

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8"/>
<title>Test</title>
</head>

<body>
<script src="../Scripts/libs/jquery-1.9.0.js"></script>
<script src="../Scripts/libs/knockout-2.2.1.debug.js"></script>

<p data-bind="text: title"></p>
<!-- ko if: authenticated == false -->
<form>
<input type="text" data-bind="value: userId"/>
<input type="password" data-bind="value: password"/>
<button type="button" data-bind="click: login">Login</button>
</form>
<!-- /ko -->
<!-- ko if: authenticated == true -->
<form>
<input type="text" data-bind="value: userId"/>
<button type="button" data-bind="click: logout">Logout</button>
</form>
<!-- /ko -->

<script type="text/javascript">
window.onload = function () {
var vm = {userId: 'user', password: 'password', title: 'unsigned', authenticated: false, login: function () {
var vm1 = {
userId: 'user', password: 'password', title: 'unsigned1', authenticated: true, login: function () { }, logout: function () {
var vm2 = { userId: 'user', password: 'password', title: 'unsigned2', authenticated: false, login: function () { }, logout: function () { } };
ko.applyBindings(vm2);
}
};
ko.applyBindings(vm1);
}, logout: function () { }
};
ko.applyBindings(vm);
};
</script>
</body>
</html>

最佳答案

this你想实现什么目标?

var vm = {
userId: 'user',
password: 'password',
title: ko.observable('unsigned'),
authenticated: ko.observable(false),
login: function () {
vm.userId = 'user';
vm.password = 'password';
vm.title('unsigned1');
vm.authenticated(true);
},
logout: function () {
vm.userId = 'user';
vm.password = 'password';
vm.title('unsigned2');
vm.authenticated(false)
}
};

ko.applyBindings(vm);

还要注意 ben336 所说的关于如何定义绑定(bind)的内容。

关于knockout.js - Knockout JS 绑定(bind)更新困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14509769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com