Nativescript Angular - 使用应用程序事件
Nativescript Angular - Using application events
折腾了几个小时,希望能找到懂的人。 Nativescript 为 Angular + Typescript:
的应用程序事件提供支持
http://docs.nativescript.org/angular/core-concepts/application-management.html
但是,我不知道应该在哪里添加这些。来自网站的示例显示了以下代码:
import application = require("application");
application.on(application.launchEvent, function (args: application.ApplicationEventData) {
if (args.android) {
// For Android applications, args.android is an android.content.Intent class.
console.log("Launched Android application with the following intent: " + args.android + ".");
} else if (args.ios !== undefined) {
// For iOS applications, args.ios is NSDictionary (launchOptions).
console.log("Launched iOS application with options: " + args.ios);
}
});
...
application.start({ moduleName: "main-page" });
如何在我的 Angular 应用程序中使用它?在我看来,这实际上并不是 Angular 版本的代码,但也许我遗漏了什么。
我已经尝试导入应用程序并将其添加到我的主 AppComponent 的 ngOnInit 中:
ngOnInit() {
application.on(application.launchEvent, function (args: application.ApplicationEventData) {
if (args.android) {
// For Android applications, args.android is an android.content.Intent class.
console.log("Alert something"); // : " + args.android + ".");
} else if (args.ios !== undefined) {
// For iOS applications, args.ios is NSDictionary (launchOptions).
console.log("Launched iOS application with options: " + args.ios);
}
console.log('launch detected')
});
console.log('application initiated');
}
虽然我没有收到任何错误,但我只能看到应用程序启动的消息。关于如何使用提到的 android args 的任何想法?
更新:
最后它比预期的要容易得多,请看我用来解决这个问题的代码:
import app = require('application');
import "reflect-metadata";
import {nativeScriptBootstrap} from "nativescript-angular/application";
import {AppComponent} from "./app.component";
app.on(app.launchEvent, function (args: app.ApplicationEventData) {
// on launch code
});
nativeScriptBootstrap(AppComponent);
感谢您的帮助!
您需要将应用程序事件函数添加到 main.ts 或 app.ts 文件并在 Bootstrap
行之前
import app = require('application');
import "reflect-metadata";
import {nativeScriptBootstrap} from "nativescript-angular/application";
import {AppComponent} from "./app.component";
app.on(app.launchEvent, function (args: app.ApplicationEventData) {
// on launch code
});
nativeScriptBootstrap(AppComponent);
折腾了几个小时,希望能找到懂的人。 Nativescript 为 Angular + Typescript:
的应用程序事件提供支持http://docs.nativescript.org/angular/core-concepts/application-management.html
但是,我不知道应该在哪里添加这些。来自网站的示例显示了以下代码:
import application = require("application");
application.on(application.launchEvent, function (args: application.ApplicationEventData) {
if (args.android) {
// For Android applications, args.android is an android.content.Intent class.
console.log("Launched Android application with the following intent: " + args.android + ".");
} else if (args.ios !== undefined) {
// For iOS applications, args.ios is NSDictionary (launchOptions).
console.log("Launched iOS application with options: " + args.ios);
}
});
...
application.start({ moduleName: "main-page" });
如何在我的 Angular 应用程序中使用它?在我看来,这实际上并不是 Angular 版本的代码,但也许我遗漏了什么。
我已经尝试导入应用程序并将其添加到我的主 AppComponent 的 ngOnInit 中:
ngOnInit() {
application.on(application.launchEvent, function (args: application.ApplicationEventData) {
if (args.android) {
// For Android applications, args.android is an android.content.Intent class.
console.log("Alert something"); // : " + args.android + ".");
} else if (args.ios !== undefined) {
// For iOS applications, args.ios is NSDictionary (launchOptions).
console.log("Launched iOS application with options: " + args.ios);
}
console.log('launch detected')
});
console.log('application initiated');
}
虽然我没有收到任何错误,但我只能看到应用程序启动的消息。关于如何使用提到的 android args 的任何想法?
更新: 最后它比预期的要容易得多,请看我用来解决这个问题的代码:
import app = require('application');
import "reflect-metadata";
import {nativeScriptBootstrap} from "nativescript-angular/application";
import {AppComponent} from "./app.component";
app.on(app.launchEvent, function (args: app.ApplicationEventData) {
// on launch code
});
nativeScriptBootstrap(AppComponent);
感谢您的帮助!
您需要将应用程序事件函数添加到 main.ts 或 app.ts 文件并在 Bootstrap
行之前import app = require('application');
import "reflect-metadata";
import {nativeScriptBootstrap} from "nativescript-angular/application";
import {AppComponent} from "./app.component";
app.on(app.launchEvent, function (args: app.ApplicationEventData) {
// on launch code
});
nativeScriptBootstrap(AppComponent);