angularjs – 获取指令中ngModel的初始值
发布时间:2020-12-17 17:45:31 所属栏目:安全 来源:网络整理
导读:我有一个需要ngModel的指令.该指令修改存储在ngModel中的值(它实现了文本的就地编辑).在我的链接功能中,我需要在更改之前获取ngModel的值. 我试着查看ngModel.$viewValue和ngModel.$modelValue.它们最终都获得了模型的内容,但是在指令的生命周期的开始,它们
我有一个需要ngModel的指令.该指令修改存储在ngModel中的值(它实现了文本的就地编辑).在我的链接功能中,我需要在更改之前获取ngModel的值.
我试着查看ngModel.$viewValue和ngModel.$modelValue.它们最终都获得了模型的内容,但是在指令的生命周期的开始,它们获得了原始的未处理的角度表达式,例如{{user.name}}.我无法找到确定的方法 有任何想法吗? directive('test',function() { return { restrict: 'A',require: 'ngModel',link: function(scope,element,attrs,ngModel) { } }; }) 解决方法
使用$parse服务:
app.directive('test',function($parse) { return { link: function (scope,attrs) { var modelGetter = $parse(attrs.ngModel); var initialValue = modelGetter(scope); } }; }); 要么: app.directive('test',function($parse) { return { compile: function compile(tElement,tAttrs) { var modelGetter = $parse(tAttrs.ngModel); return function postLink(scope,element) { var initialValue = modelGetter(scope); }; } }; }); 演示:http://plnkr.co/edit/EfXbjBsbJbxmqrm0gSo0?p=preview (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |