Angularjs ngSubmit函数调用是否应该有一个return语句,以便在正确的时间触发$digest循环?
假设我们有以下简单形式:Angularjs ngSubmit函数调用是否应该有一个return语句,以便在正确的时间触发$digest循环?,angularjs,angularjs-digest,Angularjs,Angularjs Digest,假设我们有以下简单形式: <form ngSubmit="doSomething()"> <input type="submit" value="Submit" /> <form> 我知道摘要周期是由ngSubmit触发的,但Angular如何知道何时运行摘要周期?它是在doSomething()完成后运行的吗?如果是,angular怎么知道doSomething()确实完成了,因为我没有看到任何使用return语句的ngSubmit函数的示例?
<form ngSubmit="doSomething()">
<input type="submit" value="Submit" />
<form>
我知道摘要周期是由ngSubmit
触发的,但Angular如何知道何时运行摘要周期?它是在doSomething()
完成后运行的吗?如果是,angular怎么知道doSomething()
确实完成了,因为我没有看到任何使用return
语句的ngSubmit
函数的示例?e、 g
ctrl.doSomething = function () {
// Anything can happen here
// Add return statement so that angular knows callback is complete perhaps?
return;
}
我问这个问题的原因是因为在我自己的doSomething()
函数中,我正在更新范围值,例如ctrl.myValue++
。更新后的值正在模型中更新/反映,但我不知道angular如何或何时能够确定doSomething()
已经完成,现在是安全开始摘要周期的时候了
我知道摘要周期是由ngSubmit触发的
是,ngSubmit
指令,如ngClick
触发摘要周期
我没有看到任何使用return语句的ngSubmit函数的例子
请阅读更多关于
“…赋值,如$scope.username=“1”“不会立即导致通知$watch,而是将$watch通知延迟到$digest阶段。”。这种延迟是可取的,因为它将多个模型更新合并到一个$watch通知中,并保证在$watch通知期间没有其他$watch正在运行如果$watch更改模型的值,它将强制额外的$digest循环。“
因此,当您调用ctrl.myValue++
时,模型会发生变化,并触发摘要循环
添加return语句,以便知道回调是否已完成
不,我不这么认为,这个方法在本文中没有提到
我知道摘要周期是由ngSubmit触发的
是,ngSubmit
指令,如ngClick
触发摘要周期
我没有看到任何使用return语句的ngSubmit函数的例子
请阅读更多关于
“。。。诸如$scope.username=“angular”之类的分配不会立即导致通知$watch,相反,$watch通知会延迟到$digest阶段。这种延迟是可取的,因为它将多个模型更新合并到一个$watch通知中,并保证在$watch通知期间没有其他$watch正在运行如果$watch更改模型的值,它将强制额外的$digest循环。“
因此,当您调用ctrl.myValue++
时,模型会发生变化,并触发摘要循环
添加return语句,以便知道回调是否已完成
不,我不这么认为,而且这个方法在Angular中没有提到过,所以当你调用ctrl.myValue++时,模型会发生变化,并触发摘要循环这是我困惑的根源
ctrl
被分配给此
,它指的是控制器上的一个简单对象。因此,angular如何知道手动更新某个对象属性(例如,ctrl.myValue++
)已经发生,除非定期执行脏检查?@Iamme angular有一个深度监视程序,可以在每个摘要周期运行时检查范围内的所有数据。“因此,当您调用ctrl.myValue++时,模型会发生变化并触发摘要周期”。这是我困惑的根源ctrl
被分配给此
,它指的是控制器上的一个简单对象。因此,angular如何知道其中一个对象属性(例如,ctrl.myValue++
)的手动更新已经发生,除非定期执行脏检查?@Iamme angular具有深度监视程序,可以在每个摘要周期运行时检查作用域下的所有数据。
ctrl.doSomething = function () {
// Anything can happen here
// Add return statement so that angular knows callback is complete perhaps?
return;
}