Estoy trabajando en la integración de AngularJs en una aplicación de ejemplo Nodejs. Mi controlador es como sigue:Angularjs se rompe con la expresión de función coffeescript
UsersCtrl = ($scope, $http) ->
$scope.newUser = {}
$scope.users = [
name: "aloman"
email: "[email protected]"
]
que compila en javascript:
// Generated by CoffeeScript 1.3.3
(function() {
var UsersCtrl;
UsersCtrl = function($scope, $http) {
$scope.newUser = {};
return $scope.users = [
{
name: "aloman",
email: "[email protected]"
}
];
};
}).call(this);
El código anterior se rompe con el registro de la consola:
error: Argumento 'UsersCtrl' no es una función, quedó definido
Sin embargo, la eliminación de la función anónima alrededor del código JavaScript compilado funciona bien. El código de trabajo se muestra a continuación.
var UsersCtrl;
Usersctrl = function($scope, $http) {
$scope.newUser = {};
$scope.users = [{
name: "aloman",
email: "[email protected]"
}];
};
Cualquier motivo por el que mi código compilado no funciona. Tengo la sensación de que tiene que ver con la inyección de alcance de Angular. Estoy usando AngularJS 1.0.1
Esta es la forma correcta de hacerlo. – btford
Estoy usando 'angle.module ('myModuleName'). Controller ('MyControllerName', ($ scope) ->)' – vansanblch
Supongo que editaré la publicación con eso para que las personas no se animen a crear variables globales (esas pruebas de desorden malo) –