是什么导致了敲除代码中的所有这些错误
Whats causing all these errors in knockout code?
我一直在尝试不同的方法来实现以下任务,用户可以添加带有酒店集合/阵列的Proposal。(不使用arraymap或"with:"数据绑定)
function Proposal() {
var self = this;
self.details = ko.observable("");
self.makmazarat = ko.observable("");
self.medmazarat = ko.observable("");
self.fee = ko.observable("");
self.hotelproposal = ko.observableArray([]);
self.addhotel = function (hotel) {
self.hotelproposal.push({
hotelname: "",
checkin: "",
checkout: "",
roomtype: "",
viewtype: ""
});
}
}
function hotel() {
this.hotelname = ko.observable();
this.checkin = ko.observable();
this.checkout = ko.observable();
this.roomtype = ko.observable();
this.viewtype = ko.observable();
}
ko.applyBindings(new Proposal());
这是我的html:
<h2>Contacts</h2>
<div>
<table>
<tr>
<th>Details</th>
<th>fee</th>
<th>MakMazarat</th>
<th>MedMazarat</th>
<th>Hotels</th>
</tr>
<tbody>
<tr>
<td>
<input data-bind='value: details' />
</td>
<td>
<input data-bind='value: makmazarat' />
</td>
<td>
<input data-bind='value: medmazarat' />
</td>
<td>
<input data-bind='value: fee' />
</td>
<td>
<table>
<tbody data-bind="foreach: $root.hotelproposal">
<tr>
<td>
<input data-bind='value: hotelname' />
</td>
<td>
<input data-bind='value: checkin' />
</td>
<td>
<input data-bind='value: checkout' />
</td>
<td>
<input data-bind='value: roomtype' />
</td>
<td>
<input data-bind='value: viewtype' />
</td>
</tr>
</tbody>
</table> <a href='#' data-bind='click: $root.addhotel'>Add hotel</a>
</td>
</tr>
</tbody>
</table>
</div>
<textarea data-bind='value: lastSavedJson' rows='5' cols='60' disabled='disabled'></textarea>
尽管在jsfiddle上我得到了一个错误,但在控制台上,我得到了68个错误。它说了一些关于不使用我不理解的"提案"的内容。错误是什么?
jsfiddle链接:https://jsfiddle.net/Lq0b2nfc/
您没有做的一件事是使用Hotel构造函数(我将其大写,因为构造函数通常是大写的)。你还省略了一个"removePhone"函数,尽管你从上面的代码中删除了它,但它已经绑定在你的小提琴里了。
function Hotel() {
this.hotelname = ko.observable();
this.checkin = ko.observable();
this.checkout = ko.observable();
this.roomtype = ko.observable();
this.viewtype = ko.observable();
}
function Proposal() {
var self = this;
self.details = ko.observable("");
self.makmazarat = ko.observable("");
self.medmazarat = ko.observable("");
self.fee = ko.observable("");
self.hotelproposal = ko.observableArray([]);
self.addhotel = function(hotel) {
self.hotelproposal.push(new Hotel());
}
self.removePhone = function(hotel) {
self.hotelproposal.remove(hotel);
}
}
ko.applyBindings(new Proposal());
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<h2>Contacts</h2>
<div id='contactsList'>
<table class='contactsEditor'>
<thead>
<tr>
<th>Details</th>
<th>fee</th>
<th>MakMazarat</th>
<th>MedMazarat</th>
<th>Hotels</th>
</tr>
</thead>
<tbody data-bind="foreach: $root.hotelproposal">
<tr>
<td>
<input data-bind='value: hotelname' />
</td>
<td>
<input data-bind='value: checkin' />
</td>
<td>
<input data-bind='value: checkout' />
</td>
<td>
<input data-bind='value: roomtype' />
</td>
<td>
<input data-bind='value: viewtype' />
</td>
<td>
<a href='#' data-bind='click: $root.removePhone'>Delete</a>
</td>
</tr>
</tbody>
</table>
<a href='#' data-bind='click: $root.addhotel'>Add hotel</a>
</div>
相关文章:
- 如何查看 IntelliJ 中的所有 jslint 错误
- 如何循环浏览页面源中的所有文本框元素并查找所有这些文本框的名称
- 从表单字段复制数据并将其放在echo语句中,所有这些都在$xml=simplexmlload_file函数中
- 使用JS检测所有JS错误
- 所有这些JavaScript到底都去哪儿了
- 使用 Sentry 的 Raven JS 收集所有 HTTP 错误
- 流星 - 自定义注册.显示所有验证错误,而不是一个
- 是否可以对 React.js DOM 树执行所有这些 jQuery 操作
- 设置同步/异步函数序列的正确方法,所有这些函数都可以停止表单提交和进一步处理
- 验证表单,检查用户是否存在,注册它们.所有这些都与阿贾克斯有关
- 从单击表单的 html 表行中预填充表单字段.(所有这些都应该发生在JSP上)
- 如何在控制台中显示所有 ClojureScript 错误和输出
- 如何使用单选按钮禁用下拉列表中的选项,所有这些都在同一个下拉列表中.使用Javascript
- 人们如何在不透露他们的谷歌API密钥的情况下将所有这些很酷的谷歌地图示例放在jsFiddle上
- Backbone.sync 获取所有响应错误状态代码
- 有没有办法测试谷歌数据馈送?不知道如何处理这些错误
- 标签式网站在 ASP.NET,想打印所有这些,推荐.
- 如何在数据库中插入所有这些详细信息
- 是什么导致了敲除代码中的所有这些错误
- 吞下我可观察到的错误并返回缓存值——所有这些都可以保持订阅的活力