我正在尝试使用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
如果需要进一步的详细信息,请与我们联系。
答案 0 :(得分:11)
我使用了以下语法:
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/
<强>更新强>
@ oto-brglez .bootstrap()调用替换了<html>
标签上的ng-app
<强>更新强> @TylerCollier,这是一段时间了,现在我可能会使用 Controller As 表示法(或者TypeScript!)
COFFEE
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">