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 () {
}
});
}
});
我希望我能清楚地解释这个问题。知道发生了什么事吗?
答案 0 :(得分:0)
您应该做的是仔细查看调用createUnit()
和createUser()
函数的位置。例如,通过在这些方法中设置console.debug()
语句或debugger
语句。
你提到它们是独立控制器的一部分,这是否意味着在初始化所述控制器期间调用这些函数?
如果是这种情况,您可能(意外)创建了比您想象的更多调用createUser()
的控制器,可能是因为ng-include
,ng-if
或ng-switch
构造