Javascript knockoutjs绑定问题
我的knockoutjs实现有问题。似乎在Chrome和Safari上工作得很好IE和FF发出嘶嘶声 我收到的信息如下:Javascript knockoutjs绑定问题,javascript,internet-explorer,knockout.js,knockout-2.0,knockout-mvc,Javascript,Internet Explorer,Knockout.js,Knockout 2.0,Knockout Mvc,我的knockoutjs实现有问题。似乎在Chrome和Safari上工作得很好IE和FF发出嘶嘶声 我收到的信息如下: ko.bindingHandlers.dialog = { init: function (element, valueAccessor) { var options = ko.utils.unwrapObservable(valueAccessor()) || {}; ko.utils.domNodeDisposal.addDispo
ko.bindingHandlers.dialog = {
init: function (element, valueAccessor) {
var options = ko.utils.unwrapObservable(valueAccessor()) || {};
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$(element).dialog('destroy');
});
$(element).dialog(options);
}
};
无法分析绑定。消息:TypeError:“AccountName”为
未定义;绑定值:值:AccountName
问题发生在脚本标记中,该标记用作淘汰模板:
<div id="newAccountDialog" class="dialog" data-bind="dialog: { autoOpen: false, resizable: false, modal: true, width: 350, title: 'Exchange Account'}, template: { name: 'dialogFormTemplate', data: CurrentAccount }, openDialog: IsNew"></div>
<script id="dialogFormTemplate" type="text/html">
<form id="dialogForm">
<h1>Exchange Account Manager</h1>
<p>Add new or edit an existing exchange account settings.</p>
<label for="AccountName">
Account
</label>
<input id="AccountName" name="AccountName" type="text" data-bind="value: AccountName, valueUpdate: 'afterkeydown'" class="ui-widget-content ui-corner-all" />
<div class="buttonsContainer floatRight">
<button id="Save" data-bind="click: $root.SaveAccount, dialogcmd: { id: 'newAccountDialog', cmd: 'close'}, jqButton: { icons: { primary: 'ui-icon-disk' } }">Save & Close</button>
</div>
</form>
</script>
我已经指定了Account对象,因为在这个上下文中可能不需要它
我将感谢任何帮助
提前谢谢。淘汰中没有“早期”绑定。调用ko.applyBindings
时,所有内容都已绑定。但某些绑定可以停止或延迟其子元素的绑定<当您使用if
或ifnot
选项时,code>template就是其中之一。在您的情况下,您可以像这样使用if
选项:
template: { name: 'dialogFormTemplate', data: CurrentAccount, 'if': CurrentAccount }
注意:在一些较旧的浏览器中,if前后的引号是必需的。在Knockout中没有“早期”绑定。调用ko.applyBindings
时,所有内容都已绑定。但某些绑定可以停止或延迟其子元素的绑定<当您使用if
或ifnot
选项时,code>template就是其中之一。在您的情况下,您可以像这样使用if
选项:
template: { name: 'dialogFormTemplate', data: CurrentAccount, 'if': CurrentAccount }
注意:在一些较旧的浏览器中,
如果
周围的引号是必需的。Michael,你的姓氏最好是有原因的。说够了。非常感谢。“如果”解决了这个问题。迈克尔,你姓贝斯特是有原因的。说够了。非常感谢。“如果”解决了这个问题。