假设我有两个不同的视图控制器,而都使用他们的范围内相同功能,例如设置一些作用域变量,像这样:重用功能在两个不同的控制器中angularJS
View1Cntr.js
app.controller('View1Cntr', ['$scope', function($scope) {
$scope.coloredContent = []; // default
// View1Cntr custom code here
$scope.clearColoredContent = function() {
$scope.coloredContent = [];
}
}]);
View2Cntr.js
app.controller('View2Cntr', ['$scope', function($scope) {
$scope.coloredContent = []; // default
// View2Cntr custom code here
$scope.clearColoredContent = function() {
$scope.coloredContent = [];
}
}]);
有什么办法我只能定义一次函数并将它传递给两个控制器,这样维护变得更容易了?
我想,这是一个封闭的情况下(请纠正我,如果我错了),这就是为什么我不知道怎么去解决它。
谢谢!你可以在两个控制器使用功能
是的,你可以创建'厂',用一些方法,如'clearColoredContent'注入在这两个控制器此工厂,并传递所需要的范围,这种 – Grundy
@Grundy:我的功能设置一个自由变量,其是一个$ scope变量。我不知道如何通过服务分享这样的功能。你能否提供一个例子?谢谢! – jazzblue