我在我的代码中有我的地方:
<input data-ng-disabled="SOME_ScopE_VARIABLE" />
我也希望能够像这样使用它:
<input data-ng-autofocus="SOME_ScopE_VARIABLE" />
或者甚至更好,模仿ng风格:
<input data-ng-attribute="{autofocus: SOME_ScopE_VARIABLE}" />
这是否存在于当前版本的AngularJS?我在代码中注意到有一个BOOLEAN_ATTR,它获得了AngularJS支持的所有attr。我不想修改,因为担心更改版本,忘记更新。
更新:AngularJS现在有一个
ngFocus
指令,用于评估焦点上的表达式,但是为了完整起见,我在这里提到。
当前版本的AngularJS没有焦点指令,但它在路线图中。巧合的是,我们昨天在邮件列表上是talking about this,我想出了这个:
angular.module('ng').directive('ngFocus',function($timeout) { return { link: function ( scope,element,attrs ) { scope.$watch( attrs.ngFocus,function ( val ) { if ( angular.isDefined( val ) && val ) { $timeout( function () { element[0].focus(); } ); } },true); element.bind('blur',function () { if ( angular.isDefined( attrs.ngFocusLost ) ) { scope.$apply( attrs.ngFocusLost ); } }); } }; });
根据您的要求,它适用于范围变量:
<input type="text" ng-focus="isFocused" ng-focus-lost="loseFocus()">
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。