Knockout.js 敲除:未捕获类型错误:对象databaseViewModel.openList(此)没有方法';应用';

Knockout.js 敲除:未捕获类型错误:对象databaseViewModel.openList(此)没有方法';应用';,knockout.js,Knockout.js,我有这样的代码 var databaseViewModel = new function () { var self = this; self.databaseList = ko.observable(""); self.id = ko.observable(""); self.databaseSelected = ko.observable(""); self.description = ko.observable("description");

我有这样的代码

var databaseViewModel = new function () {
    var self = this;
    self.databaseList = ko.observable("");
    self.id = ko.observable("");
    self.databaseSelected = ko.observable("");
    self.description = ko.observable("description");

    self.openList = function () {
        alert("openList");
    };
}
html:

<div data-bind="foreach: databaseList">
                <li><a href="javascript:void(0)" data-bind="click:'databaseViewModel.openList(this)',  attr: {   title: DataBaseName }">
                    <span class="pic1"></span><span data-bind="text:DataBaseName"></span></a></li>
                <div data-bind="attr: { 'data-something': DataBaseName }">
                    ...</div>
            </div>

  • ...
    我想在单击链接DataBaseName时调用openlist,如何修改代码


    您需要执行
    data bind=“click:$parent.openList”


    查看这些文档,了解有关
    $parent
    和其他可使用的特殊变量的更多信息:

    您希望执行
    数据绑定=“单击:$parent.openList”


    查看这些文档,了解有关
    $parent
    和其他可以使用的特殊变量的更多信息:

    可能会在JSFIDLE中重现您的情况。这里有一个开始:您希望您的
    databaseList
    是一个可观察的array。也许可以在JSFIDLE中重现您的情况。这里有一个开始:您希望您的
    数据库列表
    成为一个可观察的array。