网络日志

angular项目中使用intro.js

angular8的时候,需要安装4.3.0版本,而且需要安装@types/intro.js;

angular9则不需要安装特定版本,直接5.1.0就行,且不需要安装解释器。

还要在angular.json文件中进行配置,引入对应的css文件

如果不采用本地的angular.json文件的话,则需要自己新建一个样式文件,里面放用到的样式,记得用样式穿透属性,才能全局生效。

在打包的的时候可能会报cannot call a namespace ('intro.js')的错误,解决办法为:修改引入方式为:

import * as introJs_ from 'intro.js'

introJs = introJs_.default();

如果在angular8的版本里,需要修改tsconfig.json文件加入如下两行代码

    "allowSyntheticDefaultImports":true,
    "esModuleInterop":true

如果是angular9的环境,则不需要上述步骤

正常跑起来的话,按照官网的文档进行开发就行啦,需要注意的是,如果想要在步骤框中引入事件,必须这样

import * as _introJs from "intro.js";

introJs = _introJs.default();

this.introJs.setOptions({
    ...,
    setps:[
        {
            title:"测试",
            element:element,
            intro:`<a onclick="test('123')"></a>`
        }
    ]
}).start();

function test(params){
    console.log(params)
}
window['test']=test;

需要挂载到全局事件上才行;