angularjs在指令templateurl和$ http服务之间切换

时间:2014-05-13 02:30:45

标签: angularjs angularjs-directive angularjs-scope

我有以下指令

app.directive('myPage', function() {
    return {
        restrict: 'E',
        templateUrl: app.urlBuilder('about')
    }
})

默认情况下将加载此指令

要切换标签我已经加载了多个页面作为标签内容,我已经在角度中使用了$ http服务。

这是我的HTML

<my-page></my-page>
<div>{{datas}}</div>

我的控制器

app.controller('PageController', ['$scope', '$http', 'PageService', function($scope, $http, PageService) {
    $scope.changePanel = function(url) {

        PageService.getPageTemplate(url).success(function(data) {
            $scope.datas = data;
        })

    }
}])

问题最初是加载了about.html,而changePanel是click事件,而click事件发生时,新页面将被加载并创建$ scope并在模板中用作{{datas}}现在加载数据后,我可以删除<my-page></my-page>内容。

1 个答案:

答案 0 :(得分:1)

您可以使用ng-if

<my-page ng-if="!datas"></my-page>