使用Angular,何时应该使用ng-model而不是绑定到属性?

时间:2016-12-09 19:18:59

标签: angularjs angularjs-directive angular-ngmodel typeahead

我正在构建一个指令,我将在我的应用程序中的几个地方使用它。它是多选字段和提前输入的组合。要将数据来回传递到多选部分,我需要使用ng-model或我将双向绑定的范围属性。

使用ng-model比双向绑定有明显的优势吗?有什么缺点吗?

1 个答案:

答案 0 :(得分:0)

我必须做出决定,所以这就是我想出的。我现在最终使用更简单的双向绑定解决方案。

使用ng-model

有以下优点
  • 您可以提供验证行为
  • 分离模型和视图,因为它将模型保持在范围之外,因此组件中的更改不必立即反映在控件之外
  • 它为元素设置css类以进行动画和验证。
  • 您不必选择名称
    • 我们经常会得到这样的名字:“model”,“items”或“data”
  • 您可以使用ngModelOptions自定义ngModel行为。例如,易于使用的去抖动。

以下是一些缺点

  • 通过引用传递意味着ng-model不识别数组或 对象改变。
  • 这简直比较复杂,这是最重要的原因。