我的CoffeeScript Angular项目中有一个指令,我想观察/观察一系列联系人。我使用controllerAs
语法。正如我读过的$watch
,我想我会尝试一下。以下是一些示例代码:
app.directive 'labelSelect', [
"Label"
"Contact"
"$scope"
(Label, Contact, $scope) ->
restrict: 'E'
templateUrl: '/assets/templates/label-select.html'
controllerAs: 'ls'
controller: ->
$scope.$watchCollection "this.contacts", (value) ->
@somefunciton()
@somefunction = ->
console.log 'observer fired'
当我加载网站时,出现以下错误:
Error: [$injector:unpr] Unknown provider: $scopeProvider <- $scope <- labelSelectDirective
我在这里做错了什么?这是使用$watch
语法时使用controller as
功能的正确方法吗?谢谢!
更新
解决方案是不注入$scope
,而是将其用作参数:
controller: ($scope) ->
答案 0 :(得分:1)
从指令注入中删除$ scope。
在控制器功能中添加参数。