首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将jQuery插件转换为AngularJS指令

将jQuery插件转换为AngularJS指令
EN

Stack Overflow用户
提问于 2015-05-26 19:15:03
回答 1查看 729关注 0票数 0

我试图使用输入掩码jQuery插件作为指令,但在Chrome的控制台错误中得到以下错误。

代码语言:javascript
复制
TypeError: Cannot read property 'length' of undefined

我的代码

JS

代码语言:javascript
复制
var app = angular.module('app', ['ngResource']);

app.directive('inputMask', function(){
    return {
        restrict: 'A',
        link: function(scope, element){
             element.mask();
        }
    }
})

代码语言:javascript
复制
<input type="text" class="form-control input-mask" data-input-mask data-mask="{mask: 00/00/0000}" placeholder="eg: 23/05/2014">

http://plnkr.co/edit/Kp3SYS0cbIfVm1gTwtE0?p=preview

请帮我把这个修好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-26 19:57:28

长度错误是因为element.mask()方法需要一个带有要使用的掩码字符串的属性。(在本个案中为“00/00/0000”)。所以你必须改变一些事情,首先你的指令:

代码语言:javascript
复制
var app = angular.module('app', ['ngResource']);

app.directive('inputMask', function(){
    return {
        restrict: 'A',
        scope: {
          inputMask: '='
        },
        link: function(scope, element){
          element.mask(scope.inputMask.mask);
        }
    }
})

然后在html中,您可以在元素中设置掩码。

代码语言:javascript
复制
<input type="text" class="form-control" data-input-mask="{mask: '00/00/0000'}" placeholder="eg: 23/05/2014">

这是一个柱塞工作:

http://plnkr.co/edit/BbJtsF9mWx4n29CfZajF?p=preview

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30467017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档