2013-01-07 17 views
2

我有這樣的代碼淘汰賽:遺漏的類型錯誤:對象databaseViewModel.openList(這個)有沒有一種方法 '應用'

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> 

I want to invoke openlist when I click the link DataBaseName,how to modify the code?

回答

4

你會想這樣做data-bind="click: $parent.openList"

查閱這些文檔以獲取關於$parent和其他特殊變量的更多信息你可以使用:http://knockoutjs.com/documentation/binding-context.html

+0

謝謝,但它仍然不起作用 – needrunning

+0

也許在jsFiddle重現你的情況。下面是一個開始:http://jsfiddle.net/rniemeyer/shv8F/你會希望你的'databaseList'是一個observableArray。 –

相關問題