Javascript 从AngularJS中的自定义指令访问函数
这是我的HTMLJavascript 从AngularJS中的自定义指令访问函数,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,这是我的HTMLgenericsearch是一个指令: <genericsearch search-text="organisationSearchEvent"></genericsearch> 不清楚你在问什么,代码也帮不上忙。在代码中,您使用OrganizationSearchEvent作为$scope.getOrgs中的函数,并作为$watch中的范围变量。您能否通过删除所有不必要的代码来编辑您的代码,并再次尝试解释您想要实现的目标?thnks对于我编辑的回复,
genericsearch
是一个指令:
<genericsearch search-text="organisationSearchEvent"></genericsearch>
不清楚你在问什么,代码也帮不上忙。在代码中,您使用
OrganizationSearchEvent
作为$scope.getOrgs
中的函数,并作为$watch
中的范围变量。您能否通过删除所有不必要的代码来编辑您的代码,并再次尝试解释您想要实现的目标?thnks对于我编辑的回复,我应该如何实现这一点?现在,$scope.OrganizationSearchEvent是一个函数。你想从哪里叫它?从函数$scope.getOrgs
,它应该可以工作,但是您会得到一个错误,因为过滤器
没有定义。我很困惑,您是想将函数传递到指令中,还是想将函数从指令中传递到其他内容中?我正在尝试生成一个指令来搜索和选择多个项目。
.directive('genericsearch', [function () {
return {
restrict: 'E',
replace: true,
scope: {
objectType : '=',
searchText: '=',
},
link:function(scope,elem,attrs) {
scope.myParam = 'tei_org';
},
controller: [
'$scope',
'$element',
'$rootScope',
'SearchOrg',
'MapOrgs',
'$routeParams',
'DelOrgs',
'GetTemplateGroups',
'FetchOrgs',
function($scope,$element,$rootScope,SearchOrg,MapOrgs,$routeParams,DelOrgs,GetTemplateGroups,FetchOrgs){
$scope.organisationSearchEvent= function(organisationSearchEvent,filter) {
console.log('orglist'+JSON.stringify($scope.myParam));
console.warn('text'+JSON.stringify($scope.text));
SearchOrg().fetch({'filter':filter, 'searchType':'tei_org'}).$promise.then(
function(value){
$scope.orgList = value.data;
},
function(err){
});
});
$scope.getOrgs = function(data, event) {
if(event.keyCode != 13){
//$scope.Participants(data);
$scope.organisationSearchEvent(data);
}
}
// console.log('orglist'+JSON.stringify($scope.orgList));
}
],
templateUrl : TAPPLENT_CONFIG.HTML_ENDPOINT[0]+'home/search.html'
}}])