使用Rangy时出错 - 方法在Angular5中不起作用

问题描述 投票:1回答:4

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)上,我得到:

enter image description here

console.log(rangy.getSelection())给出输出enter image description here

angular textselection rangy
4个回答
1
投票

过去对我有用的东西是导入其中一个模块。并根据需要导入其他模块。

    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';

0
投票

加载模块时(正如您在console.log()中看到的那样),但方法不起作用,请尝试安装Rangy的类型:

npm install --save @types/rangy


如果仍然无效,您可以尝试:

(rangy as any).getSelection().expand();


另外,确保rangy.getSelection()返回一个rangy对象(而不是undefined),否则expand()将无法使用。


0
投票

似乎该函数被破坏,因为console.log(Rangy.getSelection())没有显示expand()作为选项。


0
投票

如果加载expand(),Rangy选择只有TextRange module方法。这是因为这个模块是一个相当大的代码,并没有作为Rangy核心的一部分加载。您只需要通过您喜欢的任何方式确保加载模块代码。

© www.soinside.com 2019 - 2024. All rights reserved.