angularjs – 如何在没有表单且没有指令的情况下从Controller内
也许这是一个新手的错误,但我似乎无法访问$scope.model的$ngModelController,所以我可以从中获取$viewValue.
我有一个没有表单的输入(我使用ui-mask指令): <input type="text" ng-model="inicio" name="inicio" ui-mask="99/99/9999"> // inside my controller $scope.inicio = dateFilter((new Date).getTime(),'dd/MM/yyyy'); ui-mask将$modelValue设置为与$viewValue不同的值,这使得很难将格式化数据发送到服务器.当$scope.inicio模型更改时,该值是一个没有斜杠的日期,如01012014.所以我需要能够为该输入获取控制器,但不必将其包装在表单中,并且必须使用$scope .myForm.inicio.$viewValue.它必须是可能的…… 我知道我可以做的事情,但似乎很骇客,必须有一个更简单的方法: >将元素放在表单中并通过$scope.myForm.input.$viewValue访问它 app.directive('viewValue',function(){ return { priority: 10,require: 'ngModel',link: function(scope,element,attrs,controller){ scope.$watch(attrs.viewValue,function(newValue,oldValue){ if (newValue !== oldValue){ scope[attrs.viewValue] = controller.$viewValue; } }); } } }); <input type="text" ui-mask="99/99/9999" ng-model="inicio" view-value="inicio">
我喜欢指令替代方案.本质上,ui-mask指令没有做你想要的,所以你也可以编写自己的指令.
您不必将inicio传递给view-value指令.而是将您自己的解析器添加到ngModelCtrl.$解析器.这是一个例子:https://stackoverflow.com/a/15556249/215945 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Angular 2中Zone.js的用途是什么?
- angularjs – 为什么重定向的CORS请求失败?
- Angular / Node / Express / Passport – 连接到facebook时
- AngularJs不能访问控制器中的表单对象($scope)
- shell中的重定向(输入输出)
- redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操
- 基于列的ViM语法突出显示
- 是否可以使用BASH / bc / printf将浮点数舍入到第一个有效数
- docker-Kamon,Statsd,Grafana磁盘空间
- scala – 如何使用Casbah在MongoDB上按对象ID查找?