我有两个指令,使用相同的功能,这取决于操纵视图和数据。扩展指令范围AngularJS
scope.hide()
scope.show()
...
目前我正在撰写一项服务,但服务主要是针对数据。
有什么建议吗?什么是最好的解决方案呢?
我有两个指令,使用相同的功能,这取决于操纵视图和数据。扩展指令范围AngularJS
scope.hide()
scope.show()
...
目前我正在撰写一项服务,但服务主要是针对数据。
有什么建议吗?什么是最好的解决方案呢?
我会推荐使用控制器来做到这一点。
编辑: 假设你想避免在这两个指令代码重复,并且不希望使用的范围中的服务(它不属于)
EDIT2:
var app = angular.module('app', []);
app.controller('MyCtrl', function($scope) {
$scope.show = function(){};
$scope.hide = function(){};
});
app.directive('directive2', function() {
return {
controller: 'MyCtrl'
link: function(scope, el, attr) {
...
}
}
})
app.directive('directive1', function() {
return {
controller: 'MyCtrl'
link: function(scope, el, attr) {
...
}
}
})
你是指两个指令的控制器? – puppeteer701
我假设你不想在两个目录中重复相同的代码。是的,我的意思是两个指令的一个控制器。 –
嗯,从来没有。将尝试 – puppeteer701
什么究竟是问题吗?最佳解决方案是什么? –
@DavinTryon我的猜测是,问题是如何避免代码重复,我相信这可以通过使用共享控制器来解决。 –
@WalterBrand很难知道答案是:使用'ng-show'来代替或不使用。 –