Angularjs 我应该在angular中使用事件或函数绑定来让组件相互通信吗

Angularjs 我应该在angular中使用事件或函数绑定来让组件相互通信吗,angularjs,Angularjs,建议: 父模板: <parent> <child-component "doSomethingFunction = $ctrl.referrencedDoSomethingFunction()"> </parent> 或 子控制器: $scope.$on('somethingHappened', function (event, data) { //doSomething now.. });)

建议:

父模板:

<parent>
 <child-component "doSomethingFunction = $ctrl.referrencedDoSomethingFunction()">
</parent>

子控制器:

$scope.$on('somethingHappened',  function (event, data) {
                //doSomething now..
            });)
  $scope.$emit('somethingHappened')
不确定其中一个是否比另一个好,我认为函数绑定可能更好的一个原因是它以绑定的形式提供了一个API,因此组件的用户在使用组件之前可能知道需要什么

但是一种方法比另一种方法更值得推荐吗

  • 一般来说,我们更喜欢函数绑定。具有清晰输入和输出的组件易于阅读和使用

  • >P>当这导致大量的额外代码时,当你想从最底层的组件传递到3-4个级别的父级时,你可以考虑使用事件。但这种情况相当罕见


    有道理,如果其他人有任何额外的输入,只需等待一点,然后再将其标记为答案。
    $scope.$on('somethingHappened',  function (event, data) {
                    //doSomething now..
                });)
    
      $scope.$emit('somethingHappened')