在指令中使用 $watch
Using $watch in directive
我在我的 CoffeeScript Angular 项目中有一个指令,我想在其中 observe/watch 一组联系人。我正在使用 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
我在这里做错了什么?在使用 controller as
语法时,这是使用 $watch
功能的正确方法吗?谢谢!
更新:
解决方案只是不注入 $scope
而是在此处将其用作参数:
controller: ($scope) ->
从指令注入中删除 $scope。
在控制器函数中添加为参数。
我在我的 CoffeeScript Angular 项目中有一个指令,我想在其中 observe/watch 一组联系人。我正在使用 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
我在这里做错了什么?在使用 controller as
语法时,这是使用 $watch
功能的正确方法吗?谢谢!
更新:
解决方案只是不注入 $scope
而是在此处将其用作参数:
controller: ($scope) ->
从指令注入中删除 $scope。
在控制器函数中添加为参数。