问题描述
父页面a.html有一个controller,然后利用include函数将b.html加载进来。父controller里面嵌套一个子controller。然后发现element.scope方法只能获取到主controller的scope,不能返回元素所在的scope。请教大神如何解决。
a.html
<script src='https://www.6hehe.com/wenda/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>
问题解答
回答1:实际上你获取到的是父scope,你要取name实际中你只需要区分父子controller里面的属性值f_name,c_name