Angularjs 使用$watch是否比使用$on和$broadcast更好?

Angularjs 使用$watch是否比使用$on和$broadcast更好?,angularjs,Angularjs,如果我想在不同控制器中进行更改时调用控制器中的函数,我通常使用$on和$broadcast 然而,最近我开始使用$watch。现在,我在服务中有一个变量,例如this.shouldlireload=false。每当我进行某种更改(例如,删除模式中的项目)时,我都会更改服务中的值,并且使用$watch,我可以在另一个控制器中调用重载函数。这很有效 哪条路更好?每种方法的优点和缺点是什么?如果您正确地构建了服务,您甚至不必显式地使用$watch(),因为Angular将在每个摘要周期中处理它。就我个

如果我想在不同控制器中进行更改时调用控制器中的函数,我通常使用
$on
$broadcast

然而,最近我开始使用
$watch
。现在,我在服务中有一个变量,例如
this.shouldlireload=false
。每当我进行某种更改(例如,删除模式中的项目)时,我都会更改服务中的值,并且使用
$watch
,我可以在另一个控制器中调用重载函数。这很有效


哪条路更好?每种方法的优点和缺点是什么?

如果您正确地构建了服务,您甚至不必显式地使用
$watch()
,因为Angular将在每个摘要周期中处理它。就我个人而言,我建议避免使用
$on
$broadcast
$watch
,除非不使用其中一种或多种方法就无法实现。