应该't$parser/$formatter在不同的位置运行,而不是链接
Shouldn't $parsers/$formatters be run at a different place rather than link?
AFAIK-angular中的link
函数用于"注册DOM侦听器以及更新DOM。"
但看看这个样本:
app.directive('changecase', function () {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
//format text going to user (model to view)
ngModel.$formatters.push(function(value) {
return value.toUpperCase();
});
//format text from the user (view to model)
ngModel.$parsers.push(function(value) {
return value.toLowerCase();
});
}
}
});
我看到了许多使用链接功能的例子,以便"防火墙"将错误值输入模型,并将out输出到视图。
问题
这既不是操纵dom,也不是处理listener。
在我看来,这只是一个奇怪的地方——把那些"防火墙"放在link
功能中
放置$parsers/$formatters的位置是否正确?
AFAIK——angular中的链接函数用于"注册DOM侦听器"以及更新DOM。"
这些规则不是刻在石头上的,它们总是出于实际考虑。预链接和后链接功能是用户可以获得所需控制器(ngModel)的地方。
所以,是的,link
是一个合适的地方。
相关文章:
- jquerytoastmessagemultipe位置,如何在运行时更改位置类
- 在站点的另一个位置运行 java 脚本
- 单击在焦点丢失之前注册的位置,但在焦点丢失后运行事件
- 如何在客户端和服务器位置都是动态时通过 TLS 运行 C# Websockets
- 错误“JavaScript 运行时错误:查找滚动位置时无法获取未定义或空引用的属性'scrollLeft'”
- 运行地理位置定位的 js 文件
- 如何添加多个函数以从不同位置对同一事件运行
- 哪个元素会影响我的jquery下拉菜单的位置-->使其正确运行
- getElementById元素在运行时动态创建的位置
- SimpleWeather.js位置更新无法在iOS设备上运行
- 应该't$parser/$formatter在不同的位置运行,而不是链接
- 每次单独的动画到达某个位置时,运行并重置一个动画
- bookmarklet可以't在普通图像url上运行时在ie中的固定位置
- ScrollLeft返回到设置的位置,遗憾的是无法在Firefox上运行
- 没有滚动条出现,当我通过浏览器运行我的网站,我的滑出菜单位置设置为固定
- 使用php变量的图像位置,使用onclick通过图像库运行
- JavaScript if语句运行两个条件,如果位置替换使用
- 位置动画在IE上运行缓慢
- 在jQuery(document).ready()之后从外部位置运行javascript
- 如何在运行Build时更改gulpfile.babel.js以添加HTML位置