相关疑难解决方法(0)

在angular 1.5组件中使用$ emit

我正在使用angular 1.5组件,并且需要在子组件中的$ emit时调用父控制器中的函数.我们怎么做到这一点?

例:

(function (angular) {
    'use strict';

    controllerName.$inject = [];

    function controllerName() {
       var _this = this;
       function toBeCalledOnEmit() {//some code}
       var vm = {
          toBeCalledOnEmit: toBeCalledOnEmit
       }
       angular.extend(_this, vm);
    }

    angular.module('moduleName', [
    ]).component('parentComponenet', {
        templateUrl: 'templateUrl',
        controller: 'controllerName'
    }).controller('controllerName', controllerName);

})(angular);
Run Code Online (Sandbox Code Playgroud)

子组件:

(function (angular) {
    'use strict';

    childController.$inject = [];

    function childController() {
       //needs $emit here
    }

    angular.module('childModuleName', [
    ]).component('childComponent', {
        templateUrl: 'templateUrl',
        controller: 'childController'
    }).controller('childController', childController);

})(angular);
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive angularjs-scope

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

在Angular 1.x中传达组件或指令的有效方法

根据下图:

在此输入图像描述

我想改进组件通信方法....我认为这种方式效率不高.

单击tabsetComponent以发出事件时,父控制器会捕获此事件,从而更改rootScope变量.在tableComponent中使用$ watch rootScope变量来触发http获取数据函数...

谁能有更好,更有效的方式来沟通兄弟组件?

components watch angularjs angularjs-directive

3
推荐指数
1
解决办法
2526
查看次数