Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs ngSubmit函数调用是否应该有一个return语句,以便在正确的时间触发$digest循环?_Angularjs_Angularjs Digest - Fatal编程技术网

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;

}