在查看了几个不同的自定义指令之后,我注意到有些人使用ngModelCtrl。$ parsers.push()和其他一些人使用ngModel。$ parsers.unshift()。有人可以解释一下这个区别。
答案 0 :(得分:0)
$parsers.unshift()
将您的解析器函数放在列表的开头,因此它将在所有其他函数之前执行,$parsers.push()
将它放在最后。
$parsers
它是一个数组对象并提供array functions
答案 1 :(得分:0)
push()
添加到数组的末尾。
unshift()
将新元素放在数组的前面。
顺序很重要,因为解析器按顺序执行。来自Angular docs:
每当控件从DOM读取值时,作为管道执行的函数数组。函数按数组顺序调用,每个函数都将返回值传递给下一个。最后一个返回值将转发到$ validators集合。