2017-03-25 5 views
1

だから、私はバックボーンを使用して、基本的なビューを作成しています、と私はそれを実行するために行くとき、私はこのTypeError例外を取得:バックボーンのエラーはどこから来ていますか?

Uncaught TypeError: Right-hand side of instanceof is not an object 

エラーは私のプログラムでbackbone.min.jsファイルと行18の内側に複数のポイントを参照しています。ここでは、コードは次のとおりです。

<!DOCTYPE HTML> 

<HTML> 
    <HEAD> 
    <META CHARSET="UTF-8" /> 
    <TITLE>First View</TITLE> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.0.0/backbone-min.js"></script> 
    <SCRIPT LANGUAGE="Javascript"> 
     var PokeView = Backbone.View.extend({ 
      render: function() { 
       this.$el.html("Simisage"); 

       return this; 
      } 
     }); 

     var myPokeView = new PokeView({ el: "#paragraph" }); 

     console.log(myPokeView instanceof Object); 
     myPokeView.render(); 
    </SCRIPT> 
</HEAD> 
<BODY> 
    <p id="paragraph"></p> 
</BODY> 

私はすべてインターネット上で探していると、一部の人々は、同じエラーが発生しましたが、それはバックボーンとは関係ありません。バックボーンのソリューションは他のソリューションと同じですか?これをどうすれば解決できますか?

+0

誰かは、Object = null'なので 'のような何かをしました。 –

+0

本当に? 'backbone.min.js'ファイルにありましたか? –

+0

アイデアはありませんが、そのエラーを引き起こす可能性があるのは上記のコードだけです。 –

答えて

4
  1. 現時点では1.3.3であるlatest version of Backboneを使用してください。
  2. 開発の間、任意のLIB 非縮小さバージョンを使用してください。バックボーンソースファイルをダウンロードするためにも、大きな開発バージョンボタンがあります。
  3. version 1.0.0 of Backboneのためである、慎重に依存関係のリストを読む

    Backbone's only hard dependency is Underscore.js (>= 1.4.3). For RESTful persistence, history support via Backbone.Router and DOM manipulation with Backbone.View, include json2.js , and either jQuery (>= 1.7.0) or Zepto .

    そしてversion 1.3.3用:

    Backbone's only hard dependency is Underscore.js (>= 1.8.3). For RESTful persistence and DOM manipulation with Backbone.View , include jQuery (>= 1.11.0), and json2.js for older Internet Explorer support. (Mimics of the Underscore and jQuery APIs, such as Lodash and Zepto , will also tend to work, with varying degrees of compatibility.)

のjQueryが欠落しているようなので、あなたは共有コードで、それが見えます。他のライブラリの前にそれを含めれば、Backboneを使う準備ができているはずです。

また、そのスクリプトスニペットを実行するときに文書内にまだ存在しない#paragraph要素のビューのel optionを使用していることに注意してください。これを修正するには、スクリプトタグを本体の下部に置きます。

<html> 
<head> 
    <meta charset="UTF-8" /> 
    <title>First View</title> 
</head> 
<body> 
    <p id="paragraph"></p> 

    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore.js"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.3.3/backbone.js"></script> 
    <script> 
     var PokeView = Backbone.View.extend({ 
      render: function() { 
       this.$el.html("Simisage"); 
       return this; 
      } 
     }); 

     var myPokeView = new PokeView({ el: "#paragraph" }); 

     console.log(myPokeView instanceof Object); 
     myPokeView.render(); 
    </script> 
</body> 
</html> 
+0

私は最新バージョンの使用を必要としませんでした。しかし、それはついにうまくいく。ありがとう! –

関連する問題