Ho la seguente direttiva:Come può una funzione compile() direttiva angolare accedere a un ambito isolato?
angular.module("example_module", [])
.directive("mydirective", function() {
return {
scope: { data: "@mydirective" }
compile: function(element) {
element.html('{{example}}');
return function($scope) {
$scope.example = $scope.data + "!";
};
}
};
});
e il seguente codice HTML:
<!DOCTYPE html>
<html ng-app="example_module">
<head>
<meta charset="utf-8">
<title>Example title</title>
<script src="lib/angular/angular.min.js"></script>
<script src="js/example.js"></script>
</head>
<body>
<div mydirective="Hello world"></div>
</body>
</html>
mi aspetterei la direttiva per compilare a Hello world!
, ma si compila una stringa vuota invece. scope
crea un ambito isolato che sembra impossibile da raggiungere per {{example}}
.
Mi piacerebbe sapere come il nuovo codice HTML creato da compile()
può accedere alla funzione di collegamento $scope
.