小编Juh*_*emi的帖子

将Unity WebGL项目导入Angular2组件

我希望将Unity WebGL项目集成到Angular2应用程序中。将所有这些脚本移至Angular2组件的正确方法是什么?

首先,Unity WebGL像这样导出index.html:

<!DOCTYPE html>
<html lang="en-us">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Unity WebGL Player | Espoo web manager (Prefab preview)</title>
    <link rel="shortcut icon" href="TemplateData/favicon.ico">
    <link rel="stylesheet" href="TemplateData/style.css">
    <script src="TemplateData/UnityProgress.js"></script>  
    <script src="Build/UnityLoader.js"></script>
    <script>
      var gameInstance = UnityLoader.instantiate("gameContainer", "Build/builds.json", {onProgress: UnityProgress});
    </script>
  </head>
  <body>
    <div class="webgl-content">
      <div id="gameContainer" style="width: 960px; height: 600px"></div>
      <div class="footer">
        <div class="webgl-logo"></div>
        <div class="fullscreen" onclick="gameInstance.SetFullscreen(1)"></div>
        <div class="title">Espoo web manager (Prefab preview)</div>
      </div>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我开始拆分,首先将样式表移动到模板.css文件中:

@import './webgl-app/TemplateData/style.css';
Run Code Online (Sandbox Code Playgroud)

然后,我将javascript移至组件.ts-file中:

import { Component, AfterViewInit } …
Run Code Online (Sandbox Code Playgroud)

javascript unity-game-engine typescript unity-webgl angular

5
推荐指数
2
解决办法
2145
查看次数

当 RouteReuseStrategy 恢复时,angular2-component 如何知道它是活动的?

我有一个组件 MainPageComponent。当用户从顶部菜单中单击“主页”时,我的自定义 RouteReuseStrategy 会从内存中恢复“主页”路线,用户从他离开的地方选择。我怎样才能在这个恢复组件的代码中知道它何时被恢复并恢复活动?

我假设 ngOnInit 没有被调用,因为这不是组件 init,但它已经启动并运行。RouteReuseStrategy 在恢复时是否对组件调用了某些方法?

我不知道是否相关,但这是我使用的自定义 RouteReuseStrategy 组件。此处“主页”的路由将在 routesToStore 数组中 - 这些路由根据请求从内存中恢复。

import { ActivatedRouteSnapshot, RouteReuseStrategy, DetachedRouteHandle } from '@angular/router';

interface RouteStorageObject {
    snapshot: ActivatedRouteSnapshot;
    handle: DetachedRouteHandle;
}

export class CustomReuseStrategy implements RouteReuseStrategy {
    constructor() {
        // Determine which routes to preserve
        this.routesToStore = ["search", "favorites", "explore"];
    }

    routesToStore: string[];
    storedRoutes: { [key: string]: RouteStorageObject } = {}

    // If returns false, user is let to leave current view
    shouldReuseRoute (future: ActivatedRouteSnapshot, current: ActivatedRouteSnapshot): boolean { …
Run Code Online (Sandbox Code Playgroud)

angular

5
推荐指数
1
解决办法
665
查看次数

可以使用Angular UI Router隐藏URL中的一些参数吗?

我想通过params将两个值传递给新的ui-view:

  • 商品ID
  • 对象列表

但是,我希望新视图只显示浏览器URL中的id,而不是字符串化的对象数组:

http://www.myapp.com/#/my-view/4

INSTEAD OF

http://www.myapp.com/#/my-view/4?flskdjalfjaewoijoijasdlfkjösldakjföliwejöorijo
Run Code Online (Sandbox Code Playgroud)

是否可以a)将隐藏的对象数组传递给ui-view或b)传递两者但是将另一个隐藏在浏览器URL中?

我发现了一些关于squash参数的东西,但是无法让它做我正在尝试的事情.

这是我的观点:

  $stateProvider
  .state('show', {
    url: "/show/{itemId}?{itemList}",
    views: {
      'mainView': {
        templateUrl: 'views/itemView.html',
        controller: 'showController',
        params: {
          itemList: {
            value: null,
            squash: true
          },

          itemId: -1
        }
      }
    }
Run Code Online (Sandbox Code Playgroud)

如何在不隐藏ID的情况下隐藏URL中的对象列表?

javascript angularjs angular-ui-router

2
推荐指数
1
解决办法
9955
查看次数