相关疑难解决方法(0)

angularjs:从指令广播到控制器

我试图从指令内部向其父控制器发送消息(没有成功)

这是我的HTML

<div ng-controller="Ctrl">
   <my-elem/>
</div>
Run Code Online (Sandbox Code Playgroud)

这是控制器中侦听事件的代码

$scope.on('go', function(){ .... }) ;
Run Code Online (Sandbox Code Playgroud)

最后指令看起来像

angular.module('App').directive('myElem',
   function () {
    return {
        restrict: 'E',
        templateUrl: '/views/my-elem.html',
        link: function ($scope, $element, $attrs) {
            $element.on('click', function() {
                  console.log("We're in") ; 
                  $scope.$emit('go', { nr: 10 }) ;
            }
        }
    }
  }) ;
Run Code Online (Sandbox Code Playgroud)

我尝试过不同的范围配置和$ broadcast而不是$ emit.我看到事件被触发,但控制器没有收到'go'事件.有什么建议 ?

dom-events angularjs angularjs-scope angularjs-components

13
推荐指数
1
解决办法
1万
查看次数