Maison > Questions et réponses > le corps du texte
La page parent a.html a un contrôleur, puis utilise la fonction include pour y charger b.html.
Il y a un contrôleur enfant imbriqué dans le contrôleur parent.
Ensuite, j'ai découvert que la méthode element.scope ne peut obtenir que la portée du contrôleur principal et ne peut pas renvoyer la portée où se trouve l'élément.
Demandez au maître comment le résoudre.
a.html
<script src="app.js" type="text/javascript"></script>
<p ng-controller="a">
<p ng-include="b.html"></p>
</p>
app.js
var app = angular.module('App',[]);
//主模块
app.controller("a", function($scope) {
$scope.name= "a_name";
});
//子模块
app.controller("b", function($scope) {
$scope.name= "b_name";
});
b.html
<script>
var $scope = angular.element("#c").scope();
console.log($scope.name);//理论上应该返回b_name,实际返回a_name
</script>
<p ng-controller="b">
<p id="c"></p>
</p>
阿神2017-05-15 16:57:20
En fait, ce que vous obtenez est la portée parent. Vous devez obtenir le nom. En fait, il vous suffit de distinguer les valeurs d'attribut f_name et c_name dans les contrôleurs parent et enfant