2012-05-04 5 views
8

ace.jsエディタのRangeオブジェクトをコード内に作成しようとしていますが、動作しません。私は理解できない方法で失敗している。私は私のコードでこれをしようとするとace.jsでRangeオブジェクトを作成しようとすると、 "Illegal Constructor"エラーがスローされます

new Range(Number startRow, 
      Number startColumn, 
      Number endRow, 
      Number endColumn) 

:しかしthe Ace documentationでは、このコンストラクタがある

new Range(0, 0, 0, 1) 

それはUncaught TypeError: Illegal constructorエラーが発生します。何が原因でこの動作が発生し、なぜドキュメントと一致しないのですか?

答えて

14

Rangeは、インスタンス化できないほとんどのブラウザです。私は本当にエースに精通していないが、私は彼らがnew Ace.Range()のような何かをするように名前空間のいくつかの並べ替えを使用して推測している。

編集:あなたはそれはしかし、あなたが好きな方法とエイリアスインポートすることができますので、彼らは、CommonJSを使用しているように見えます:

var Range = require('ace/range').Range, 
    mine = new Range(0,0,10,0); 
+3

require('ace/range').Rangeを交換し、ちょうどそのIをCommonJSを使用していないので、解決策は 'var Range = ace.require( 'ace/range')です。Range' ありがとうございました。 –

1

それだったace.require('ace/range').Range

関連する問題