动态改变 ng-include

changing ng-include dynamically

我对 Angular 很陌生。每当用户选择 "facebook page" 时,我都试图在我的 header 中动态更改 ng-include 的值。我无法弄清楚为什么我所拥有的不起作用。我已经尝试了我在 Whosebug 中找到的所有内容,并按照以下说明停止了:http://blog.dynamicprogrammer.com/2012/09/19/dynamic-includes-with-angular-js.html

这是我的 html:

<!-- BEGIN HEADER -->
<div data-ng-include data-ng-src="getPartial()" data-ng-controller="HeaderController"
         class="page-header navbar navbar-fixed-top">
</div>
<!-- END HEADER -->

这是我的控制器:

* Setup Layout Part - Header */
PicoApp.controller('HeaderController', ['$scope', function ($scope) {
    $scope.$on('$includeContentLoaded', function () {
        Layout.initHeader(); // init header
    });

    $scope.getPartial = function () {

        if (!FacebookPage.currentPage) {
            location.href = "#/";
            return 'tpl/header.html';
        } else {
            location.href = "#/";
            return 'tpl/header_main_page.html';
        }   
      }

}]);

在 div 语句中,函数被添加到不需要的 ng-src 中。将代码更新为

<div data-ng-include="getPartial()" data-ng-controller="HeaderController"
         class="page-header navbar navbar-fixed-top">
</div>