Skip to content

Instantly share code, notes, and snippets.

@rktjmp
Last active June 5, 2020 05:12
Show Gist options
  • Save rktjmp/4653222 to your computer and use it in GitHub Desktop.
Save rktjmp/4653222 to your computer and use it in GitHub Desktop.
// Make our app module, its easier to do this in raw javascript
// and then put the rest of our app content (controllers etc)
// in their own coffeescript files.
//
// Your ng-app should include this module name, eg: <html ng-app="TodoApp">
angular.module('TodoApp', []);
# Original source at: http://angularjs.org/#todo-js
angular.module('TodoApp').controller 'TodoCtrl', ($scope) ->
$scope.todos = [
{text: 'learn angular', done: true},
{text: 'build an angular app', done: false}
]
$scope.addTodo = ->
$scope.todos.push({text: $scope.todoText, done: false})
$scope.todoText = ''
$scope.remaining = ->
count = 0
for todo in $scope.todos
count += todo.done ? 0: 1
count
$scope.archive = ->
oldTodos = $scope.todos
$scope.todos = []
for todo in oldTodos
$scope.todos.push(todo) unless todo.done
@sattes-faction
Copy link

I'm not quite sure, but it seems the controller definition in todo.coffee is re-initizalizing the whole app. I was struggling with this as I wanted to add a configuration like this

angular.module('TodoApp', []).config(....);

and it never got called.

@wbingli
Copy link

wbingli commented May 20, 2014

It's better to write like below. Otherwise, it doesn't work if you use minify to build the script.

['$scope', ($scope) ->


]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment