我有一个弹出式模态框,它会在按钮点击时弹出。模态框的内容是一个项目列表。该列表存储在控制器中,并通过GET请求响应数据进行填充。
每当我重复打开模态框时,隐含地调用了列表的更新,我会短暂地看到多个列表副本 - 大约每次点击一个副本。然后显示的列表会解析为实际存储在列表中的内容。
这可能是控制器或HTML的问题,还是ngRepeat的某种副作用?
以下是来自HTML文件的片段:
每当我重复打开模态框时,隐含地调用了列表的更新,我会短暂地看到多个列表副本 - 大约每次点击一个副本。然后显示的列表会解析为实际存储在列表中的内容。
这可能是控制器或HTML的问题,还是ngRepeat的某种副作用?
以下是来自HTML文件的片段:
<li ng-repeat="itemin vm.items">{{item.name}}</li>
<a href="#" onclick="togglePanel('Panel')" ng-click= "vm.getItems()">View Items</a>
而从控制器中:
getItems(): angular.IPromise<core.IItem> {
var self: Controller = this;
return this.itemDataService.getItems()
.then(function(response: any): angular.IPromise<core.IItem> {
self.items = response.data;
return response;
},
function(response: any): angular.IPromise<core.IItem> {
self.items = [];
return response;
});
}
如果您需要查看更多代码,请提出要求。
编辑:额外的代码... 被调用的onClick:
function toggleSavedSearchPanel(id)
{
var e = document.getElementById(id);
if (e.style.display == 'block' || e.style.display=='')
{
e.style.display = 'none';
}
else
{
e.style.display = 'block';
e.focus();
}
}