【问题标题】:How can I open a url for both Angular and Nativescript from one component codebase?如何从一个组件代码库中同时打开 Angular 和 Nativescript 的 URL?
【发布时间】:2020-03-18 16:20:33
【问题描述】:

我正在构建一个 NativeScript-Angular 应用程序,该应用程序显示的链接需要在网络和移动设备上的新浏览器中打开。

对于 Angular,我可以使用 window.open("http://example.com", "_blank"); - 这不适用于 NativeScript。

对于 NativeScript,我可以使用 utilityModule.openUrl(http://example.com);其中 var utilityModule = require("utils/utils"); - 但这不适用于 Angular(它无法解析和 tns 模块)。

有什么方法可以在我的组件中使用单一方法在移动设备上启动默认浏览器并在 Web 浏览器上打开一个新选项卡?

【问题讨论】:

    标签: angular nativescript nativescript-angular angular-module openurl


    【解决方案1】:

    定义一个服务,并在您导入“服务”的代码中有两个实现

    • service.ts:这将有关于如何打开链接的 WEB 版本。
    • service.tns.ts:这将包含有关如何打开链接的 nativescript 版本。

    【讨论】:

    • 谢谢何塞。还没有尝试过,但听起来正是需要的。
    • 嗨 Jose,我还没有将此标记为答案,因为我的服务的 .tns 版本似乎没有被使用。这应该自动发生吗?或者我是否需要在配置文件中添加其他内容。 tsconfig.tns.ts 已经有条目 "paths": { "@src/*": [ "src/*.tns.ts", "src/*.ts" ] }
    • 我得到的错误是 System.err: Error: Unexpected value '[object Object]' import by the module 'AppModule'
    • 问题显然是用户错误 :-) 我必须删除所有对 utils/utils 的引用,然后重新开始
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多