0

いくつかのbackbone.jsの例を試していますが、変更トリガーを機能させることができません。「Welcometothisworld」アラートは期待どおりに表示されますが、「Changemynameto」は表示されません。Firefoxでコードをデバッグすると同じ結果が得られ、2番目のアラートのブレークポイントに到達することはありません。

何が問題なのですか?

これは私のコードです:

main.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>hello-backbonejs</title>
</head>
<body>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
    <script src="http://ajax.cdnjs.com/ajax/libs/json2/20110223/json2.js"></script>
    <script src="http://ajax.cdnjs.com/ajax/libs/underscore.js/1.1.6/underscore-min.js"></script>
    <script src="http://ajax.cdnjs.com/ajax/libs/backbone.js/0.3.3/backbone-min.js"></script>

    <script src="model.js" type="text/javascript"></script>

</body>
</html>

model.js

Person = Backbone.Model.extend({
    defaults: {
        name: 'Fetus',
        age: 0
    },
    initialize: function(){
        alert("Welcome to this world");
        this.on("change:name", function(model){
            var name = model.get("name"); // 'Stewie Griffin'
            alert("Changed my name to " + name );
        });
    }
});

var person = new Person({ name: "Thomas", age: 67});
person.set({name: 'Stewie Griffin'}); // This triggers a change and will alert()
4

1 に答える 1

0

jsライブラリの正しいバージョンを取得するには、main.htmlをこれに変更する必要がありました

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>hello-backbonejs</title>
</head>
<body>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.2/underscore-min.js"></script>
    <script src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js"></script>

    <script src="model.js" type="text/javascript"></script>

</body>
</html>
于 2012-10-31T06:43:21.390 に答える