Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript knockoutjs绑定问题_Javascript_Internet Explorer_Knockout.js_Knockout 2.0_Knockout Mvc - Fatal编程技术网

Javascript knockoutjs绑定问题

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

我的knockoutjs实现有问题。似乎在Chrome和Safari上工作得很好IE和FF发出嘶嘶声

我收到的信息如下:

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,你的姓氏最好是有原因的。说够了。非常感谢。“如果”解决了这个问题。迈克尔,你姓贝斯特是有原因的。说够了。非常感谢。“如果”解决了这个问题。