javascript - 在 Angular JS 应用程序上注入(inject) ThreeJs 模型

标签 javascript angularjs three.js

这是一个非常普遍的问题。 我正在使用 Angular Js (v1.5/1.6) 构建一个 Web 应用程序,并且希望使用三个 Js 添加一些小型 3D 动画模型。

我已经尝试过设置一些小东西,但 Angular 拒绝所有三种 Js 方法...因此,如果你们中有人知道或已经看过该领域的任何教程、书籍、文章,请随时分享。

谢谢大家。

最佳答案

有很多关于如何集成 ThreeJS 和 Angular 1/2 的示例。

根据我的经验,实现这一目标的最佳方法是创建一个指令来初始化 ThreeJS(创建相机、场景等...),并且像任何其他指令一样与 Controller 通信并抛出范围(使用 $watch) .

例如:

angular.module('nxGeometry', []).directive('nxGeometry', function () {
    return {
        restrict: 'A',
        link: function (scope, element, attrs) {
              var camera, scene, geometry, renderer, material, object, container;
              function init() {
                  scene = new THREE.Scene();
                  // continue init threejs stuff 
              }
        }
    }
});

您可以在此处查看完整的示例(不是我的):https://jsfiddle.net/awolf2904/y0dvo582/

关于javascript - 在 Angular JS 应用程序上注入(inject) ThreeJs 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46030260/

相关文章:

javascript - 如何在 meteor 中将数据设置到模板

javascript - Angular UI Router 1.0 - 为什么在不离开状态的情况下调用 $scope.$watch ('$destroy' )?

javascript - YUI 缩小时出现 Angular 捕获关键字错误

javascript - 为什么 fbevents.js 会加载到我的页面上?

javascript - Jquery中的数据检索错误

javascript - 在 phantomJS 中使用 angularJS 函数

javascript - 如何在保持所需物体大小的透视相机和正交相机之间切换

javascript - 无法读取未定义的属性 'rotation' - Three.js

javascript - 来自 WebGLRenderTarget 的纹理未使用 StereoEffect 渲染

javascript - 检查 Ticker 是否在另一个列表中,然后添加新键 [RamdaJS]