5

次の方法でrequirejsを使用してknockoutjsをロードしようとしています。

<script type="text/javascript">
    require(['scripts/knockout-2.2.1.debug'], function() {
        var someModel = {
            firstname: ko.observable('asd')
        };
        ko.applyBindings(someModel);
    });
</script>

require.jsは、上部のスクリプトタグを使用してロードされます。このコードを実行すると、ko isnotdefinedエラーが発生します。同様のことをする正しい方法は何ですか?

4

1 に答える 1

5
require(['scripts/knockout-2.2.1.debug'], function(ko) {

よくわかりませんが、requirejsの例を見ると、これらはそのコールバック関数のスコープ内にロードされていると思います。したがって、関数でそれを受け入れない限り、それを使用することはできません。

はい、あなたは正しいです(少なくとも、彼らの例を見て)。4つのライブラリを含める場合は、4つのパラメータを受け入れる必要があります。たとえば、jqueryとknockoutをロードした場合、次のように記述できます。

require(['scripts/jquery.js', 'scripts/knockout-2.2.1.debug'], function($, ko) {
于 2013-03-03T08:08:29.323 に答える