我正在尝试使用Coffescript课程的
angularjs
我能够注射并能够使用coffeescript做一个成功的例子.但要访问$scope,我必须在构造函数中编写函数.我能做些什么来摆脱它.如果有另一种好的方式来写,请告诉我.
这是我的工作coffeescript代码
class PersonCtrl @$inject = ['$scope'] constructor: (@scope) -> @scope.persons = [ firstName:"Kunjan" lastName:"Dalal",firstName:"Kunj" lastName:"Dalal" ] @scope.addPerson = () => @scope.persons.push angular.copy @scope.person
如果需要进一步的详细信息,请告诉我.
我使用了以下语法:
app = angular.module 'myapp',[] class MySimpleCtrl @$inject: ['$scope'] constructor: (@scope) -> @scope.demo = 'demo value' @scope.clearText = @clearText clearText: => @scope.demo = "" app.controller 'MySimpleCtrl',MySimpleCtrl angular.bootstrap document,['myapp']
看看这个jsFiddle:
http://jsfiddle.net/jwcMA/
UPDATE
@ oto-brglez .bootstrap()调用替换你的< html>上的ng-app标签
UPDATE
@TylerCollier,这是一段时间了,现在我可能会使用Controller As表示法(或者TypeScript!)
咖啡
class PetController constructor: (@$scope) -> @pets = ['Fido','Felix'] addPet: (pet) -> @pets.push(pet)
HTML
<div ng-controller="PetController as pc"> ... <li ng-repeat="pet in pc.pets">