javascript - Angularjs 打破了 coffeescript 函数表达式

标签 javascript coffeescript angularjs

我正在努力将 AngularJs 集成到一个示例 Nodejs 应用程序中。我的 Controller 如下:

UsersCtrl = ($scope, $http) ->    
   $scope.newUser = {}
   $scope.users = [
     name: "aloman"
     email: "aloman@example.com"
   ]

编译成javascript:

// Generated by CoffeeScript 1.3.3
(function() {
  var UsersCtrl;

  UsersCtrl = function($scope, $http) {
    $scope.newUser = {}; 
    return $scope.users = [ 
      {   
        name: "aloman",
        email: "aloman@example.com"
      }   
    ];  
  };
}).call(this);

上面的代码因控制台日志而中断:
错误:参数“UsersCtrl”不是函数,未定义

然而,删除包裹在已编译 javascript 周围的匿名函数工作正常。 工作代码如下所示。

var UsersCtrl;
Usersctrl = function($scope, $http) {
    $scope.newUser = {};
    $scope.users = [{
        name: "aloman",
        email: "aloman@example.com" 
    }];
}; 

我的编译代码无法正常工作的任何原因。我觉得这与 Angular 的作用域注入(inject)有关。我正在使用 AngularJS 1.0.1

最佳答案

最好使用这种语法,以免污染全局范围:

angular.module('myApp').controller('MyController', ($scope) ->)

关于javascript - Angularjs 打破了 coffeescript 函数表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927131/

相关文章:

javascript - 以正确的方式导入/注入(inject) TypeScript+AngularJS 模块

javascript - 为什么在使用带有箭头函数的 canvas.toBlob() 时,Angular 的 ChangeDetection 没有被触发?

angularjs - 将解析的对象传递到由 angular-ui 路由器中的字符串定义的 Controller 中

javascript - 媒体休息时类(class)被删除

javascript - Coffeescript三元if语句错误逻辑

javascript - 如何从 .NET 编译 CoffeeScript?

javascript - Angular $q 未按预期工作 - 返回未定义

javascript - 强制 Angular 在任何路线/位置更改时重新加载

javascript - 在 catch block nodejs/javascript 中有 promise 问题

javascript - 为什么我的链接不显示?