Mvvm 未捕获引用错误:无法处理绑定“;submit:function(){return add_list_form_submit};
我真的需要帮助调试这个错误。我有一个使用KnockoutJS继承的项目。我们将不胜感激 下面是该视图的一个片段Mvvm 未捕获引用错误:无法处理绑定“;submit:function(){return add_list_form_submit};,mvvm,knockout.js,Mvvm,Knockout.js,我真的需要帮助调试这个错误。我有一个使用KnockoutJS继承的项目。我们将不胜感激 下面是该视图的一个片段 <form action="" method="post" class="text-muted" ko="submit: add_list_form_submit"> <div class="form-group"> <label class="control-label">Travel purpose</label>
<form action="" method="post" class="text-muted" ko="submit: add_list_form_submit">
<div class="form-group">
<label class="control-label">Travel purpose</label>
<select ko="visible: purposes().length != 0,
value: selected,
attr: {name: !is_new_purpose() ? 'travel_purpose':'' }"
class="form-control"
required>
<option style="display: none" value="">Select or add purpose</option>
<!-- ko foreach: purposes -->
<option ko="value: $data, text: $data"></option>
<!-- /ko -->
<option value="__">Add a new category</option>
</select>
<input ko="visible: is_new_purpose,
value: travel_purpose,
value_update: 'input',
attr: { name: is_new_purpose()? Every 'travel_purpose':'' }"
class="form-control"
type="text"
placeholder="enter new travel purpose" />
</div>
<form>
还有其他几个视图模型是通过开关循环绑定的
$(function() {
switch(where) {
case 'login':
VM = new LoginViewmodel();
break;
case 'manage-production-stages':
VM = new ManageProductionStagesViewmodel();
break;
case 'enter-travel-info':
VM = new EnterTravelInfoViewmodel();
break;
}
ko.applyBindings(VM);
});
另外,请注意,数据绑定已被重新分配,这就是我在视图中使用“ko”的原因
//----------Change `ko` attribs to `data-bind`-------------
$(function() {
$('[ko]').renameAttr('ko','data-bind');
});
再次感谢您。视图模型未绑定,因为浏览器缓存了我的历史记录。清除浏览器缓存解决了此问题。视图模型淘汰尝试绑定到的对象没有
函数add\u list\u form\u submit(){}
可能,VM
不会被分配新的EnterTravelInfoViewmodel()
,而是被分配到开关中的其他内容。
//----------Change `ko` attribs to `data-bind`-------------
$(function() {
$('[ko]').renameAttr('ko','data-bind');
});