嘿,我正在开发一个角度为1.6的应用程序,并且我遇到了一个问题,我不太确定如何解决。这里简要讨论一下这个设置。该页面是一个包含30个问题的表单。客户端有很多条件逻辑如下:如果用户在Q1上选择“是”,然后向他们展示Q2-4,如果Q1上的“否”,则跳至Q5。这在三十个问题形式中重演。在AngularJS中更新屏幕视图
我遇到以下情况 - 如果用户在Q1上选择“是”,回答Q2-4,然后意识到Q1应该真的是“否”。
所以我的问题是:1)如何清除模型?和2)如何更新视图?因此,如果他们第三次决定,第一季度应该是肯定的,第二季度至第四季度是没有检查/清除/空白的。
为1),我只是写了一个简单的“clearAll方法如下:
function clearAll(arr){
arr.forEach(function(element){
if(element!==undefined){
element = null;
}
});
}
这将清除模型,但不更新视图。如何更新视图以使Q2-4清除/清空/空白?
我不得不这样做是为了更新视图,所以
$scope.$watch(myModel, function(val){
//set to null or delete?
}
但我不能一概而论这所以很灵活,可以接受一个数组。任何意见,将不胜感激。谢谢。
分配功能'$ scope.'那么就会触发变化检测,或致电'$ scope.apply ()' – Akxe
我们使用“controller as”语法,所以我宁愿避免范围。即使我想使用$ scope。$ apply(),它也会抛出与摘要循环相关的错误。 – jrDeveloper
此外,根据条件决定在服务器端或发送期间保存什么,而不是清除,因此您不会遇到任何此类问题。 – Akxe