我有2个控制器说#content td.failed, .failed {
color:#FF0000;
Background-color:white;
}
和cont_a
分别有函数cont_b
和fun_a()
。
我在fun_b()
内有一个按钮,如果我点击它就应该调用这两个函数,我不知道从哪里开始。
谢谢。
答案 0 :(得分:2)
两个选项,使用服务或使用角度事件
服务方式
app.service('funcService', function(){
this.fun_a = function (){
alert('fun_a')
}
this.fun_b = function (){
alert('fun_b')
}
}
app.controller('Ctrl_1' , function($scope,funcService){
$scope.callBothFunctions = function(){
funcService.fun_a();
funcService.fun_b()
}
});
app.controller('Ctrl_2' , function($scope,funcService){
$scope.func_b = funcService.func_b;
});
事件方法
app.controller('Ctrl_1' , function($scope,$rootScope){
$scope.fun_a = function (){
alert('fun_a');
$rootScope.$broadcast('call-fun_b');
}
});
app.controller('Ctrl_2' , function($scope){
$scope.fun_b = function (){
alert('fun_b')
}
$scope.$on('call-fun_b', function(){
$scope.fun_b();
})
});
除此之外,问题太模糊,无法知道最佳方法是什么。通常使用服务是保持控制器代码精益的最佳方式