我不太确定我是采取最佳或正确的方法,但基本上我要做的就是在指令中调用函数。原因是我正在尝试清除指令中控制的范围。作为参考,我正在使用这个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!");
};
它似乎不起作用,我不确定这是否是正确的方法,但我发现另一个指令通过广播从控制器调用自己,所以我认为它必须是一个很好的起点。 非常感谢这里的任何帮助,因为我对这个主题有点暗。谢谢你的阅读!