提供从应用程序到库的 function()

Providing function() from Application to Library

我的应用程序中有一个 Class AppComponent 具有此功能

scan(){
  var success = function(result) {
     alert(JSON.stringify(result.text, undefined, 2));
    }
  var failure = function(result) {
     alert(JSON.stringify(result.text, undefined, 2));
    }
  cordova.plugins.BarcodeScanner.scan(success, failure, [])
}

我的图书馆为我的应用程序提供了页面,但我无法在图书馆中添加此功能,因为并非它的每个用户都需要条码扫描器。

我的问题,我如何在非必要的基础上依赖注入这个函数?

创建服务实例并提供对象的函数、值或实例。

this.deviceSer.injectFunction(myFunction)
this.deviceSer.setEnvironment('app')
this.deviceSer.Keyboard = Keyboard

并添加服务 und public-api.ts as export

export { DeviceService } from './lib/services/load-deviceinfo/device.service'