我假设当您谈论隔离范围时,您在谈论的是指令。
这是一个如何做的例子。
http://jsfiddle.net/rgaskill/PYhGb/
var app = angular.module('test',[]);
app.controller('TestCtrl', function ($scope) {
$scope.val = 'World';
});
app.factory('AlertFactory', function () {
return {
doWork: function(scope) {
scope.title = 'Fun';
}
};
});
app.controller('DirCtrl', function ($scope, AlertFactory) {
AlertFactory.doWork($scope);
});
app.directive('titleVal',function () {
return {
template: '<h1>Hello {{title}}</h1>',
restrict: 'E',
controller: 'DirCtrl',
scope: {
title: '='
},
link: function() {
}
};
});
基本上,将控制器附加到已定义隔离范围的指令。注入到指令控制器中的作用域将是一个隔离作用域。在指令控制器中,您可以将AlertFactory注入其中,并将隔离范围传递给它。