使用'&'有什么好处?在'<&#;在传递函数时,在角度1.5中的绑定/范围?

时间:2016-08-17 12:25:53

标签: javascript angularjs

1.5 angularjs促进组件和组合作为构建应用程序的方式。有时您需要将函数传递给子组件。有3种不同的绑定类型可供您这样做:'&','<',' ='。我知道它们是如何工作的,但我不知道为什么我会使用'&'当'<':

时,再次绑定
  • 可以更轻松地在层次结构中传递函数(没有笨拙的object-to-args语法)
  • 可以更容易地检测功能是否完全通过(使用'&'绑定功能始终存在,因此!this.myFunction之类的简单检查将无法正常工作)

然而,许多教程和书籍仍然显示'&'作为将功能传递给组件的主要方式,所以我认为使用'&'而不是'而不是'这些是什么?

进一步澄清我的问题。想象一下,我有一个父组件想要将一个函数(一个回调)传递给它的子元素。这些孩子应该是可重复使用的组件,无论是否有回调都可以正常工作。

如果ChildA指定回调的绑定类型为'&',则必须使用$ctrl.callback({ data: data })语法调用它,并且无法简单地检查是否回调存在(假设我只想在回调可用时显示某个按钮)。

另一方面,在ChildB中,回调的绑定类型是&#39;&lt;&#39;。父传递函数与任何其他值相同。这种方法的优点是ChildB使用更自然的语法($ctrl.callback(data))调用函数,并且能够以非常简单的方式检查函数是否存在:<button ng-show='$ctrl.callback'>Only shows when the callback fn is available</button>

所以,再次概述这个问题:为什么我甚至会使用&#39;&amp;&#39;了吗?

0 个答案:

没有答案