如何从angular中触发指令事件

时间:2014-10-08 08:34:01

标签: javascript angularjs

我有directive代码

seriesClick: function (e) {
                //console.log(e.category);
                // use scope.$emit to pass it to controller
                scope.$emit('feederValue', e.category);
            },

在我的controller我正在使用

        $scope.$on('feederValue', function (evt, value) {
            console.log(value);
            $scope.feederFitBoundValue = value;
            $scope.getFitBoundForFeederID($scope.feederFitBoundValue);
        });

我想在不同的指令中定义这个函数 我想用它

我的代码

function getFitBoundForFeederID(feederFitBoundValue){
    alert(feederFitBoundValue);
}

我收到错误TypeError: undefined is not a function

我的项目位于Angular框架中我想使用$emit$on的逻辑

请建议是否有任何优化解决方案。我只想将值从One指令传递给不同的指令。同时我想将一个值从一个指令传递给另一个指令。我想做事件触发。

2 个答案:

答案 0 :(得分:0)

一个简单的解决方法是在$rootScope上发出事件并在$rootScope上观看此事件,但我不确定这是最好的方法。

答案 1 :(得分:0)

要将值从一个指令传递到另一个指令,您可以使用factory来创建保存共享数据的服务。

app.factory("sharedDataService", function() {
            return {
                yourData: "anything"
            };
        });