6

私はlearn.knockoutjs.comでメールクライアントのチュートリアルを試しています。メール詳細ブロックに「戻るボタン」を追加したい。しかし、そのボタンは自動トリガーされます。

私のコード

<div class="viewMail" data-bind="with: chosenMailData">
    <button data-bind="click: alert('derp')">derp</button>
    <div class="mailInfo">
        <h1 data-bind="text: subject"></h1>
        <p><label>From</label>: <span data-bind="text: from"></span></p>
        <p><label>To</label>: <span data-bind="text: to"></span></p>
        <p><label>Date</label>: <span data-bind="text: date"></span></p>
    </div>
    <p class="message" data-bind="html: messageContent" />
</div>

selectedMailData viewMail divを設定すると表示されます。しかし、同時にブラウザアラート「derp」。ボタンをクリックすると、その時にブラウザにアラートが表示されるようにしたい。なにが問題ですか?

4

1 に答える 1

11

with バインディングがコンテンツをレンダリングすると、アラート コードが実行されます。

関数でラップするか、ビューモデルの関数に移動します

<button data-bind="click: function() { alert('derp'); }">derp</button>
于 2013-10-09T15:21:15.853 に答える