9

ace.jsコードでエディタ用の Range オブジェクトを作成しようとしていますが、うまくいきません。よくわからない方法で失敗しています。Ace のドキュメントでは、このコンストラクタは次のとおりです。

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

しかし、コードでこれを試すと:

new Range(0, 0, 0, 1)

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

4

4 に答える 4

15

Rangeネイティブ タイプは、インスタンス化できないほとんどのブラウザです。私は Ace にあまり詳しくありませんが、Ace は何らかの名前空間を使用して、new Ace.Range().

編集: CommonJS を使用しているように見えるので、メソッドをインポートして好きなようにエイリアスすることができます:

var Range = require('ace/range').Range,
    mine = new Range(0,0,10,0);
于 2012-05-05T08:46:47.540 に答える
2

これは私のために働いた:

import { Range } from "ace-builds"

于 2020-02-27T10:44:14.090 に答える
0

この解決策var Range = ace.acequire('ace/range').Range;は私のために働きます!!!

完全なコード: https://stackoverflow.com/a/53387989/630169

于 2018-11-20T07:05:14.097 に答える