javascript - 在 Angular 2 中实现 Wikitude

标签 javascript angularjs angular typescript wikitude

我正在尝试使用此引用在 Angular 2 中实现 Wikitude 架构师 View https://github.com/jinhong-/nativescript-wikitudearchitectview/blob/master/demo/app/main-page.ts 我正在尝试以 Angular 2 方式实现这段代码

import * as app from 'application';
import * as platform from 'platform';
import { Demo } from "./main-view-model";
import { View } from "ui/core/view";
import * as frameModule from 'ui/frame'

function pageLoaded(args) {
  var page = <View>args.object;
  page.bindingContext = new Demo();
  var architectView = page.getViewById<any>("architectView");
  console.log('pageLoaded');
}
<page xmlns="http://schemas.nativescript.org/tns.xsd" 
      xmlns:ar="nativescript-wikitudearchitectview" 
      loaded="pageLoaded">
      <GridLayout rows="*, auto">
        <ar:ArchitectView id="architectView" urlString="http://10.20.30.79:8888" urlLoaded='urlLoaded' urlLoadError='urlLoadError' urlInvoked='urlInvoked'/>
      </GridLayout>
</page>

到目前为止我已经:

@Component({
  selector: "my-app",
  templateUrl: "app.xml"
})
export class AppComponent implements OnInit{
  
  ngOnInit() {
    var page = <View>args.object;
    page.bindingContext = new Demo();
    var architectView = page.getViewById<any>("architectView");
    console.log('pageLoaded');
  }
      <GridLayout rows="*, auto">
        <ar:ArchitectView id="architectView" urlString="http://10.20.30.79:8888" urlLoaded='urlLoaded' urlLoadError='urlLoadError' urlInvoked='urlInvoked'>
        </ar:ArchitectView>
        <Button row="1" text="hello"></Button>
      </GridLayout>

主要部分是将这3行转换为Angular 2格式

var page = <View>args.object;
page.bindingContext = new Demo();
var architectView = page.getViewById<any>("architectView");

但我不知道该怎么做。

最佳答案

首先,在您的 html 中您需要更改的文件 <ar:ArchitectView<ArchitectView ,并且为了支持您可以将其添加到 main.ts :

var architectView = require("nativescript-wikitudearchitectview");
registerElement("ArchitectView", () => architectView.ArchitectView);

其次,看一下这个页面:http://docs.nativescript.org/angular/tutorial/ng-chapter-6并搜索“#email”。所以在你看来添加:

<ArchitectView #architectView

在组件中:

@ViewChild("architectView") architectView: ElementRef;

关于javascript - 在 Angular 2 中实现 Wikitude,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43090361/

相关文章:

javascript - Emscripten 在 Visual Studio 中导出函数异常

javascript - HTML5 LocalStorage 存储可执行脚本

angular - JEST 和 AGM 模块的意外 token 导出

node.js - Hyperledger-Composer:为什么使用 Node.js 而不是 Angular?

javascript - Angular 1 - 获取当前的 URL 参数

javascript - 淡入淡出效果的问题

javascript - 'window'对象如何成为前端JS脚本的全局对象?

AngularJS多复选框疑惑(Angular Material)

angularjs - 在 Karma+AngularJS 测试中加载模拟 JSON 文件

javascript - Angular 4 : Subscribing to Observable