AngularJS:从控制器加载视图?

AngularJS:从控制器加载视图?,angularjs,Angularjs,我想了解如何从控制器加载视图 例如,假设: 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> myFile.html

我想了解如何从控制器加载视图

例如,假设:

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>
myFile.html
{{foo}}

.controller(“myCtrl”,函数(){ $scope.html=loadFileHere(“myfoo”、“myFile.html”); log($scope.html); }); 我希望输出: 我的福

这可能吗


谢谢

我猜你是在说加载partials?你不会真的用控制器加载视图,虽然也许你可以…我会用你的路径加载视图。控制器会将作用域数据返回到局部视图,然后将其加载到ng view div或其他任何文件中。比如说

在app.js(或任何您称之为app.js的文件)中,假设您的myFile.html位于同一目录中:

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>
{{foo}

然后您的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>


您想在第一个html中添加另一个html文件。谢谢查看!我想这是一种不好的做法,但我正在努力避免在我的控制器中编写一些html。@heldrida我想我只是不明白。我上面写的控制器中没有HTML。唯一的html在索引和部分文件中。如果你不想使用分部,它也可以很容易地出现在索引中……我只是从你的第一个问题中假设这就是你要找的。@heldrida也许我理解你现在说的……我想你所说的可以通过使用指令和编译函数来实现……看看这篇文章,然后看看是否有用