2012-03-18 44 views
2

我想用KnockoutJS數據綁定到一個函數的屬性,所以我可以做一些字符串操作,並努力讓它工作。KnockoutJS數據綁定attr函數似乎沒有工作

以下工作完全正常:

<div data-bind="html: doSomething($data)></div> 

但是,下列情況不:

<a data-bind="attr: { src: doSomething($data)}">link</a> 

可能有人請幫助我得到這個工作?

回答

7

您可能會面臨一些問題。

首先,您應該使用href而不是src作爲錨點鏈接。

二,doSomething住在哪裏?這是一個全球性的功能嗎?它是否位於數組中的每個項目或頂級視圖模型上?如果它位於根視圖模型上,則可以在您正在執行foreach的項目範圍內使用$root.doSomething來引用它。

這裏有一個例子:http://jsfiddle.net/rniemeyer/WbxPm/

+0

對不起,我趕緊打完了這個問題不思考,這是一個「HREF」我使用,但我也同時整理了一些圖片,我必須錯誤地輸入'src'。 至於doSomething方法,它作爲一個全局函數存在,所以我似乎無法訪問它,不管我做什麼。 – JustinN 2012-03-18 23:30:48

+0

如果可能,我會嘗試根據我的小提琴重現您的方案。在你的問題中沒有足夠的代碼來提出更多的建議。另外,你是否收到錯誤?它是達到你的功能還是說它沒有找到? – 2012-03-18 23:40:36

+0

這裏基本上是我想要做的:http://jsfiddle.net/JustinN/WbxPm/2/ - 它給出了錯誤無法解析綁定。 消息:ReferenceError:doSomething未定義; – JustinN 2012-03-18 23:47:25