Javascript 如何在angularjs中将控制器中的函数输出显示为嵌套视图
我有一个父视图Javascript 如何在angularjs中将控制器中的函数输出显示为嵌套视图,javascript,angularjs,angular-ui-router,ng-controller,nested-views,Javascript,Angularjs,Angular Ui Router,Ng Controller,Nested Views,我有一个父视图index.html <html> <head> <script src = "assets/js/angular.min.js"></script> <script src = "../lib/js/angular-ui/angular-ui-router.js"></script> <script src = "app.js"></script>
index.html
<html>
<head>
<script src = "assets/js/angular.min.js"></script>
<script src = "../lib/js/angular-ui/angular-ui-router.js"></script>
<script src = "app.js"></script>
<script src = "controllers/profile/ProfileController.js"></script>
</head>
<body ng-app="myApp">
<div class="links">
<div class='profile'><a ui-sref="profile">Profile</a></div>
<div class='dashboard'><a ui-sref="dashboard">Dashboard</a></div>
</div>
<div class="container">
<div ui-view></div>
</div>
</body>
</html>
<div >
<div class="links">
<h3 class="heading">Profile</h3>
<div class='viewprofile'><a ui-sref="profile.viewprofile">View Profile</a></div>
<div class='createprofile'><a ui-sref="profile.createprofile">Create Profile</a></div>
<div class='editprofile'><a ui-sref="profile.editprofile">Edit Profile</a></div>
</div>
<div class="content>
<div ui-view="profile.viewprofile@"></div>
<div ui-view="profile.createprofile@"></div>
</div>
</div>
这是我的profile.html
<html>
<head>
<script src = "assets/js/angular.min.js"></script>
<script src = "../lib/js/angular-ui/angular-ui-router.js"></script>
<script src = "app.js"></script>
<script src = "controllers/profile/ProfileController.js"></script>
</head>
<body ng-app="myApp">
<div class="links">
<div class='profile'><a ui-sref="profile">Profile</a></div>
<div class='dashboard'><a ui-sref="dashboard">Dashboard</a></div>
</div>
<div class="container">
<div ui-view></div>
</div>
</body>
</html>
<div >
<div class="links">
<h3 class="heading">Profile</h3>
<div class='viewprofile'><a ui-sref="profile.viewprofile">View Profile</a></div>
<div class='createprofile'><a ui-sref="profile.createprofile">Create Profile</a></div>
<div class='editprofile'><a ui-sref="profile.editprofile">Edit Profile</a></div>
</div>
<div class="content>
<div ui-view="profile.viewprofile@"></div>
<div ui-view="profile.createprofile@"></div>
</div>
</div>
在控制台中,显示的数据为
Array
(
[0] => Array
(
[id] => 1
[0] => 1
[fname] => sdds
[1] => sdds
[lname] => sddssd
[2] => sddssd
[mobile] => 333
[3] => 333
)
)
当我在profile.html
页面中单击viewprofile
时,viewprofile.html
将被渲染。但是,我想将函数allProfiles()
的值获取到子视图viewprofile
,并将它们绑定到html标记
如何将控制器中的
allProfile()
函数输出到子视图viewprofile.html
您可以将allProfile()函数中的数据绑定到某个rootScope变量。像这样:
<html>
<head>
<script src = "assets/js/angular.min.js"></script>
<script src = "../lib/js/angular-ui/angular-ui-router.js"></script>
<script src = "app.js"></script>
<script src = "controllers/profile/ProfileController.js"></script>
</head>
<body ng-app="myApp">
<div class="links">
<div class='profile'><a ui-sref="profile">Profile</a></div>
<div class='dashboard'><a ui-sref="dashboard">Dashboard</a></div>
</div>
<div class="container">
<div ui-view></div>
</div>
</body>
</html>
<div >
<div class="links">
<h3 class="heading">Profile</h3>
<div class='viewprofile'><a ui-sref="profile.viewprofile">View Profile</a></div>
<div class='createprofile'><a ui-sref="profile.createprofile">Create Profile</a></div>
<div class='editprofile'><a ui-sref="profile.editprofile">Edit Profile</a></div>
</div>
<div class="content>
<div ui-view="profile.viewprofile@"></div>
<div ui-view="profile.createprofile@"></div>
</div>
</div>
$scope.allProfiles = function(){
$http.get('objects/getallprofiles.php').success(function (data, status, headers, config) {
$rootScope.profiles=data;
console.log(data);
});
然后,您可以使用$rootScope在任何控制器中访问此变量
别忘了在cotroller中注入$rootscope
另一种方法是将数据存储在服务中,并将服务注入到您想要访问数据的控制器中。这里应该是您的答案,它不起作用。如果我把allProfiles()函数放进去,我甚至不会得到任何提示。我对angularjs非常陌生。请说明如何在服务中存储数据并将服务注入控制器中