Angular 4 and modules: Rangy我按照上面的说明进口rangy。我想在Rangy的expand()中使用TextRange的函数documentation。但是,我收到错误属性'expand'在类型'RangySelection'上不存在。
我的代码:
import * as rangy from 'rangy'
showSelectedText(){
var selTxt = rangy.getSelection()*.expand()*;
console.log('selTxt: '+selTxt);
}
在console.log(rangy)上,我得到:
过去对我有用的东西是导入其中一个模块。并根据需要导入其他模块。
import * as rangy from 'rangy/lib/rangy-classapplier';
import 'rangy/lib/rangy-highlighter'; //imports another module into rangy
import 'rangy/lib/rangy-core.js'; //and another
import 'rangy/lib/rangy-textrange';
import 'rangy/lib/rangy-serializer';
加载模块时(正如您在console.log()
中看到的那样),但方法不起作用,请尝试安装Rangy的类型:
npm install --save @types/rangy
如果仍然无效,您可以尝试:
(rangy as any).getSelection().expand();
另外,确保rangy.getSelection()
返回一个rangy对象(而不是undefined
),否则expand()
将无法使用。
似乎该函数被破坏,因为console.log(Rangy.getSelection())没有显示expand()作为选项。
如果加载expand()
,Rangy选择只有TextRange module方法。这是因为这个模块是一个相当大的代码,并没有作为Rangy核心的一部分加载。您只需要通过您喜欢的任何方式确保加载模块代码。