Вопрос по javascript – Когда я пытаюсь создать объект Range в ace.js, выдается ошибка «Illegal Constructor»

9

Я пытаюсь создать объект Range дляace.js редактор в моем коде, но он не работает. Это терпит неудачу так, как я не могу понять. Вдокументация Aceэтот конструктор:

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

Но когда я попробую это в моем коде:

new Range(0, 0, 0, 1)

Это поднимаетUncaught TypeError: Illegal constructor ошибка. Что является причиной этого поведения и почему оно не соответствует документации?

Ваш Ответ

3   ответа
15

Range это нативный тип большинства браузеров, которые вы не можете создать. Я не очень знаком с Ace, но я предполагаю, что они используют какое-то пространство имен, чтобы вы могли сделать что-то вродеnew Ace.Range().

Edit: Похоже, они используют CommonJS, поэтому вы можете импортировать метод и его псевдоним так, как вам нравится:

var Range = require('ace/range').Range,
    mine = new Range(0,0,10,0);
Error: User Rate Limit Exceededvar Range = ace.require('ace/range').RangeError: User Rate Limit Exceeded Andrés
Error: User Rate Limit ExceededTypeError: ace.require is not a functionError: User Rate Limit Exceeded
Error: User Rate Limit Exceededvar Range = ace.acequire('ace/range').Range;Error: User Rate Limit Exceeded
2

require('ace/range').Range сace.require('ace/range').Range

Error: User Rate Limit Exceededvar Range = ace.acequire('ace/range').Range;Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededTypeError: ace.require is not a functionError: User Rate Limit Exceeded
0

var Range = ace.acequire('ace/range').Range; работает для меня!!!

Полный код:https://stackoverflow.com/a/53387989/630169

Похожие вопросы