javascript - Phaser 中的游戏 - AngularJS 中的 JavaScript 和事件

标签 javascript angularjs phaser-framework

如何从纯 JavaScript 执行 AngularJs 方法?

myApp.controller("someController",["$scope",function($scope){
  //Some code was here
  $scope.a = valueA;
  $scope.b = valueB
});

稍后在代码中想要执行一个函数,该函数在有效时可以执行 IF,如果是这种情况,将执行我的 AngularJS Controller 或其他内容。

function Clicked(){
if( was clicked correctly ){
    //execute my Controller and send some data to add to the DOM
}

我不希望我的 HTML 元素触发 Controller 内的函数。 我知道我可以从 AngularJS Controller 构建我的 Canvas ,然后,由于我位于 Controller 内部,我将可以更轻松地访问它。但是,我想知道是否有任何可以从 Angular 外部执行的方法,这样我就可以让我的 Controller 变得轻便而简单。

因为;我想做的是将 Phaser Framework 中的一个小游戏与 AngularJS 中制作的一些外部元素连接起来。把它想象成一台电视,底部和 Controller 位于 Phaser 中,而屏幕是 Angular 部分。所以基本上,当 Phaser 部分发生某些事情时,我想与 Angular 部分进行沟通。

最佳答案

终于找到解决办法了

var intermediary;

myApp.controller("someController", ["$scope",function($scope){

  intermediary = function(fn){
        var phase = $scope.$root.$$phase;
        var value;
        if(phase == '$apply' || phase == '$digest') {
            if(fn && (typeof(fn) === 'function')) {
                value = fn();
                if(value){
                    $scope.valIntermediary = value;
                }
            }
        } else {
            $scope.$apply(function() {
                value = fn();
                if (value) {
                    $scope.valIntermediary = value;
                }
            });
        }
    };

  $scope.$watch("valIntermediary",function(){
      //Do something whit a value var inside my controller
  });
}]};

if(intermediary){
   intermediary(function(value) {
      return { /*Some data when click is true*/}
   })
}

关于javascript - Phaser 中的游戏 - AngularJS 中的 JavaScript 和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25556340/

相关文章:

javascript - 在 Phaser 3 中暂停和恢复游戏

javascript - 相位器框架 javascript "infinite loop" "browser crash"计时器

javascript - 在运行时用 DIV 包装表

javascript - 如何更新 Firebase Firestore 中的动态字段名称?

JavaScript 代码未执行!

javascript - 测试 Angular/Rails 应用程序的首选方法是什么?

javascript - 粒子生成速度太快 - Phaser 3

javascript - 如何将响应转为 Excel 文件

javascript - 需要隐藏url中的变量值

javascript - 解决不触发服务功能的问题