来自控制器的指令中的Angular,call函数(广播?)

时间:2014-12-12 16:07:45

标签: javascript angularjs

我不太确定我是采取最佳或正确的方法,但基本上我要做的就是在指令中调用函数。原因是我正在尝试清除指令中控制的范围。作为参考,我正在使用这个https://github.com/darylrowland/angucomplete指令,并且所需的效果是当我添加所选项时,它将从输入中清除。

所以我想要做的是在我将selectedObject添加到我正在存储的列表(添加函数)后,我正在调用指令的广播,如此

$scope.$broadcast('angucomplete:clearInput');

因此,作为参考,这里是整个添加函数,称为

$scope.addLesson = function(){
    var skillCheck = true;
    for(i=0;i<$scope.lessonsHere.length;i++){
        if($scope.lessonsHere[i].id === $scope.testObj.originalObject.id ){
            errorOffScreen("You cannot add the same Lesson more than once");
            skillCheck = false;
        }
    }

    if(skillCheck){
        $scope.lessonsHere.push($scope.testObj.originalObject);
        $scope.testObj = {};
        $scope.$broadcast('angucomplete:clearInput');
    }
}

所以在指令本身我只有

$scope.clearInput = function(responseData, str) {
            console.log("hit!");
         };

它似乎不起作用,我不确定这是否是正确的方法,但我发现另一个指令通过广播从控制器调用自己,所以我认为它必须是一个很好的起点。 非常感谢这里的任何帮助,因为我对这个主题有点暗。谢谢你的阅读!

0 个答案:

没有答案