ng-include仅加载部分局部一次

时间:2016-11-10 13:15:20

标签: angularjs

Ng-include让我疯了,我真的希望你能提供帮助。 所以我在母版页上有这个HTML代码

<div id="subViewPartial"> <ng-include class="col-md-8 col-md-offset-2" src="currentPartial"> </ng-include> </div>

在angularjs中我有以下功能

$scope.createUnit = function (link) {
        $rootScope.Action = 0;
        $rootScope.Id = 0;

        $scope.currentPartial = window.location.origin + link;
        setTimeout(SubViewService.showSubView(), 500);
    };

$scope.createUser = function (link) {
        //////console.log(link);
        $scope.currentPartial = window.location.origin + link;
        setTimeout(SubViewService.showSubView(), 500);
    };

现在,如果fire createUser一次,然后我执行createUnit几次,子视图将在createUser和createUnit之间旋转,即使我没有调用createUser。

以下是SubviewService

BAapp.service('SubViewService', function () {
this.showSubView = function () {
    var subViewContent = '#subViewPartial';

    $.subview({
        content: subViewContent,
        onShow: function () {
        },
        onClose: function () {
            $.hideSubview();
        },
        onHide: function () {
        }
    });
}

});

我希望我能清楚地解释这个问题。知道发生了什么事吗?

1 个答案:

答案 0 :(得分:0)

您应该做的是仔细查看调用createUnit()createUser()函数的位置。例如,通过在这些方法中设置console.debug()语句或debugger语句。

你提到它们是独立控制器的一部分,这是否意味着在初始化所述控制器期间调用这些函数?

如果是这种情况,您可能(意外)创建了比您想象的更多调用createUser()的控制器,可能是因为ng-includeng-ifng-switch构造