gpt4 book ai didi

javascript - 此模板引擎不支持其模板中的 'if' 绑定(bind)

转载 作者:行者123 更新时间:2023-11-29 10:47:51 25 4
gpt4 key购买 nike

在下面的代码中,当我将 'if' 添加到 bind 时,此模板中发生了错误

这是否可以修复,因为我只希望它在可见时绑定(bind)?

谢谢

<script id="friendsTemplate" type="text/html">

<li>
<input data-bind="value : name" />
<button data-bind="click: remove">Remove</button>

<label><input type="checkbox" data-bind="checked : isOnTwitter" /> is on twitter</label>
<input data-bind="if:isOnTwitter, value:twitterName" />

</li>

</script>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<%-- <script src="Scripts/knockout-2.2.1.js"></script>--%>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="https://raw.github.com/jquery/jquery-tmpl/master/jquery.tmpl.js"></script>
<script src="Scripts/knockout-2.2.1.js"></script>


</head>
<body>


<form id="form1" runat="server">
<div>

<h1>details</h1>

<p>first name: <input data-bind="value: firstName" /></p>
<p>last name: <input data-bind="value: lastName" /></p>

<p>full name: <span data-bind ="text: fullName"></span></p>

<h2>friends</h2>

<ul data-bind="template: {name:'friendsTemplate',foreach:friends}"></ul>

<script id="friendsTemplate" type="text/html">

<li>
<input data-bind="value : name" />
<button data-bind="click: remove">Remove</button>

<label><input type="checkbox" data-bind="checked : isOnTwitter" /> is on twitter</label>
<%-- <input data-bind="value:twitterName,visible: isOnTwitter" />--%>
<input data-bind="if:isOnTwitter, value:twitterName" />

</li>

</script>

<button data-bind="click: addFriend">add friend</button>


</div>
</form>
</body>
</html>


<script type ="text/javascript">

function friend(name) {
return {
name: ko.observable(name),
isOnTwitter: ko.observable(false),
twitterName: ko.observable(),
remove: function () {
viewModel.friends.remove(this);
}
};
}




var viewModel ={
firstName: ko.observable("bert"),
lastName: ko.observable("smith"),
friends: ko.observableArray([new friend('steve'), new friend('annie')]),
addFriend: function () {
this.friends.push(new friend('bob'));
}
};

viewModel.fullName = ko.dependentObservable(function () {
return this.firstName() + " " + this.lastName();
},viewModel);

ko.applyBindings(viewModel);



</script>

最佳答案

if 绑定(bind)需要放在容器上。它只控制其子项的绑定(bind)/呈现。

你会想做这样的事情:

<div data-bind="if: isOnTwitter">
<input data-bind="value: twitterName" />
</div>

<!-- ko if: isOnTwitter -->
<input data-bind="value: twitterName" />
<!-- /ko -->

关于javascript - 此模板引擎不支持其模板中的 'if' 绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16102915/

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