2012-03-18 10 views
2

KnockoutJSで属性にデータバインドしようとしています。そのため、文字列操作を行うことができます。関数へのKnockoutJSデータバインドattrが機能していないようです。

完全に罰金、次の作品:

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

しかし、次はしていません:

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

誰かが私はこの作業を取得助けてくださいもらえますか?

答えて

7

あなたが直面している可能性があるいくつかの問題が考えられます。

最初にアンカーのリンクにsrcの代わりにhrefを使用する必要があります。

次に、doSomethingはどこに住んでいますか?それはグローバルな機能ですか?配列内の各アイテムまたはトップレベルのビューモデルに存在しますか?ルートビューモデル上にある場合は、foreachをオンにしている項目の範囲内から$root.doSomethingを使用して参照することができます。ここで

はサンプルです:http://jsfiddle.net/rniemeyer/WbxPm/

+0

申し訳ありませんが、私は考えずすぐに質問を入力した、それは私が使用しています「のhref」ですが、私はまた私は、同時にいくつかの画像を整理されたよう誤って「src」をタイプアウトする必要があります。 doSomethingメソッドはグローバル関数として存在するため、私が何をしてもアクセスできないようです。 – JustinN

+0

可能であれば、私はあなたのシナリオを私のフィドルに基づいて再現しようとします。あなたの質問には、より多くの提案をするのに十分なコードはありません。また、エラーが発生していますか?それはあなたの機能に到達しているか、それが見つからないと言っていますか? –

+0

基本的に私がやろうとしていることは次のとおりです。http://jsfiddle.net/JustinN/WbxPm/2/ - バインディングを解析できませんでした。 メッセージ:ReferenceError:doSomethingが定義されていません。 – JustinN

関連する問題