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)上,我得到:
答案 0 :(得分: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';
答案 1 :(得分:0)
加载模块时(正如您在console.log()
中看到的那样),但方法不起作用,请尝试安装Rangy的类型:
npm install --save @types/rangy
如果仍然无效,您可以尝试:
(rangy as any).getSelection().expand();
另外,请确保rangy.getSelection()
返回一个笨拙的对象(而不是undefined
),否则expand()
将无效。
答案 2 :(得分:0)
似乎该函数被破坏,因为console.log(Rangy.getSelection())没有显示expand()作为选项。
答案 3 :(得分:0)
如果加载了TextRange module,则Rangy选择仅具有expand()
方法。这是因为此模块是相当大量的代码,并且未作为Rangy核心的一部分加载。您只需要确保以任何喜欢的方式加载模块代码即可。