在视图中使用compile in指令和ng repeat的组合会阻止正确更新范围元素列表
Use combination of compile in directive and ng-repeat in view prevent updating scope elements list correctly
这是我在plunker上的代码(更新了链接),很抱歉,我没能让它再次工作,因为它在我的项目中工作,但它有助于阅读目的,而不是粘贴我的代码。
$scope.elements = [
{
'value': 'Default text',
'elem_type_name': 'text field'
}, {
'value': 'example@email.com',
'elem_type_name': 'email field'
}];
事实上,最初我的代码是有效的,我能够很好地呈现正确的视图,但在我的代码中,我在页面底部有一个提交按钮。
当点击它时,它会生成一个新的API调用来更新我当前的范围变量(元素列表)。
其中一些可以在API调用后保留,一些可以删除,一些可以添加新的。
不幸的是,当我点击这个提交按钮时,范围奇怪地没有得到很好的分析,所以如果相同的元素仍然具有相同的id,那么它就是重复的。如果我得到一个全新的元素列表,我会看到以前的元素+新的元素。
我似乎遇到了与此相同的问题:另一个stackoverflow问题,但在我的情况下,每次单击按钮后,我需要在每次API调用之前完全清空元素范围变量。
你知道吗?
非常感谢提前
在您的调用中,您可以设置$scope.elements = ''
,然后分配$scope.elements = response.data
,或者您将结果定义为的任何值。例如:
$http.get('jsonFile.json')
.then(function(jsonData) {
$scope.elements = '';
$scope.elements = jsonData.data;
});
这将清除$scope.elements,然后仅使用新的响应数据进行更新。
相关文章:
- 接受不在列表中的值-引导组合框
- Extjs 3.4如何强制组合框重新加载其下拉列表
- Extjs 4.2.1滚动到组合下拉列表中的选择
- 将带有方括号的字符串转换为组合方括号内容的列表
- 在下拉列表中显示树的组合框
- 验证 2 个下拉列表(只有某些组合有效)
- 在XMPP pubsub中,订阅者可以检索订阅列表或将其与MUC组合
- 如何从多维数组填充列表框(组合框)
- Jquery:需要检查组合框中的值列表
- Angularjs :从列表中选择组合
- 在HTML表中搜索-组合多个值(下拉列表、文本字段)
- 在列表出现后,是否可以从ZK组合框中删除焦点
- 在视图中使用compile in指令和ng repeat的组合会阻止正确更新范围元素列表
- 我将如何在列表中附加所有组合
- 按值获取下拉列表/组合框的索引(客户端)
- 从带有输入框列表的Angular自定义指令中获取组合字符串
- 引导程序下拉列表中的剑道组合框
- 组合日期,从月和年列表中获得天数基础
- 隐藏extjs组合框的下拉列表
- ExtJs多选组合框与复选框列表