AngularJS指令:ngModelCtrl。$ parsers

时间:2015-09-17 17:55:07

标签: javascript angularjs angularjs-directive

在查看了几个不同的自定义指令之后,我注意到有些人使用ngModelCtrl。$ parsers.push()和其他一些人使用ngModel。$ parsers.unshift()。有人可以解释一下这个区别。

2 个答案:

答案 0 :(得分:0)

$parsers.unshift()将您的解析器函数放在列表的开头,因此它将在所有其他函数之前执行,$parsers.push()将它放在最后。

$parsers它是一个数组对象并提供array functions

答案 1 :(得分:0)

push()添加到数组的末尾。

unshift()将新元素放在数组的前面。

顺序很重要,因为解析器按顺序执行。来自Angular docs

  

每当控件从DOM读取值时,作为管道执行的函数数组。函数按数组顺序调用,每个函数都将返回值传递给下一个。最后一个返回值将转发到$ validators集合。