1

非常に単純な例で PubSub を理解しようとしています。私のフィドルには、単純な入力要素があります。入力フィールドの値で model.prop を更新するにはどうすればよいですか? フィドル

<button>update</button>
<input type="text" value="10" /> <br />
<label></label>​

var model = function(){
    var p1 = $('input').val();
    return {
        prop: p1             
    }        
}();

$('button').click(function(){
    $('label').text(model.prop)      
})
4

2 に答える 2

1

これは Pub/Sub パターンの例ではないと思いますが、次のスニペットを確認してください。

var model = (function() {
    var inp = $('input');
    return {
        getProp: function() {
           return inp.val();
        }
    };
})();

$('button').click(function(){
    $('label').text(model.getProp());
});
于 2012-12-05T09:10:08.347 に答える
0

これを試して:

$(function(){

    var model = function(){
        return {
            prop: function () {
                return $('input').val();
            }                
        }        
    }();

    $('button').click(function(){
        $('label').text(model.prop)      
    })


})​

これが機能するのは、propプロパティのスカラー値を定義する代わりに、関数を定義してその結果を取得するためです。そのため、プロパティを呼び出すたびに、テキスト フィールドの値で動的に更新されます。http://jsfiddle.net/CHvFk/4/を参照してください。</p>

于 2012-12-05T07:28:22.100 に答える