I'm working on integrating AngularJs into an example Nodejs application. My controller is as follows:
UsersCtrl = ($scope, $http) ->
$scope.newUser = {}
$scope.users = [
name: "aloman"
email: "[email protected]"
]
which compiles into 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);
The code above breaks with console log:
Error: Argument 'UsersCtrl' is not a function, got undefined
However removing the anonymous function wrapped around the compiled javascript works fine. The working code is shown below.
var UsersCtrl;
Usersctrl = function($scope, $http) {
$scope.newUser = {};
$scope.users = [{
name: "aloman",
email: "[email protected]"
}];
};
Any reason why my compiled code isn't working. I have a feeling it has to do with Angular's scope injection. I'm using AngularJS 1.0.1
CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and destructuring assignment.
The coffee and cake commands will first look in the current folder to see if CoffeeScript is installed locally, and use that version if so. This allows different versions of CoffeeScript to be installed globally and locally.
If you are looking to implement coffee script in html, take a look at this. You simple need to add a <script type="text/coffeescript" src="app. coffee"></script> to execute coffee script code in an HTML file.
It would be best to use this syntax so you don't pollute the global scope:
angular.module('myApp').controller('MyController', ($scope) ->)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With