我遇到了一些问题。我有一个控制器" searchCtrl",它有一些范围对象应该在指令中使用。
如果是一个指令,它可以用作控制器:" searchCtrl"。但是多个组件需要使用由thrid方提供的searchCtrl(修改ctrl是不可取的)。
file 1;
angular.module('app.core')
.directive('profilePage', DirectiveFunction1 );
function DirectiveFunction1 (config,service) {
var directive = {
restrict: 'E',
templateUrl: 'components/search1.html',
controller: 'searchCtrl',
link:function (scope, element, attrs) {}
}
return directive;
}
file 2;
angular.module('app.core')
.directive('contactPage', DirectiveFunction2 );
function DirectiveFunction2 (config,service) {
var directive = {
restrict: 'E',
templateUrl: 'components/search2.html',
controller: 'searchCtrl',
link:function (scope, element, attrs) {}
}
return directive;
}
我的seachCtrl看起来像
angular.module('asApp').controller('searchCtrl', ['$scope', 'service', function($scope, AppService, qVarService) {
axisAPI.object()
.app(service.app())
.qId('abcd')
.on('create',function(object) {
object.paint();
}).on('paint',function(data){
$scope.$apply(function(){
$scope.profile = data.profile;
$scope.contacts = data.profile;
})
}).create();
所以2个组件配置文件和联系人以及一个通用控制器。根据我的功能" searchCtrl"因为我放在两个指令中,正在执行两次并获得两次响应 而不是如果它在指令html文件中使用ng-controller它将同样工作 如果没有上述内容,我如何在不同的指令中使用{{profile}}和{{contacts}}。
任何人都建议我在更好的方面做到这一点。
答案 0 :(得分:0)
如果您无法控制控制器,您是否可以复制出代码并将其作为服务或工厂放置,然后重复使用?或者可能会改变?