我想了解如何从控制器加载视图?
示例,假设:
myFile.html
<p>{{foo}}</p>
.controller("myCtrl", function(){
$scope.html = loadFileHere("My foo", "myFile.html");
console.log($scope.html);
});
I'd expect the output:
<p>My foo</p>
这可能吗?
谢谢!
答案 0 :(得分:2)
我猜你在谈论加载部分内容?你不会真的加载一个带控制器的视图,虽然MAYBE你可以...我会使用你的路由来加载一个视图。您的控制器会将您的范围数据返回到您的局部视图,然后您将其加载到ng-view div或其他任何内容。例如......
假设你的myFile.html在同一个目录中,你的app.js(或任何你称之为的)中的:
angular.
module('app', []).
config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/myFile', { templateUrl: 'myFile.html', controller: MyCtrl }).
otherwise({ redirectTo: '/' });
}]);
然后可能在controllers.js文件中:
function MyCtrl($scope) {
$scope.foo = "My foo";
}
然后在你的myFile.html部分:
<p>{{foo}}</p>
然后您的index.html文件可能如下所示:
<!doctype html>
<html ng-app="app">
<head>
<script src="js/angular.min.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
</head>
<body>
<div ng-controller="MyCtrl">
<div class="container">
<div ng-view></div>
</div> <!-- /container -->
</div>
</body>
</html>