指令不在Angularjs中工作,没有被调用

时间:2016-09-02 16:10:22

标签: angularjs

我试图通过指令编写格式化程序和解析器。

angular.module('myModule').directive('toDate', function(){
        debugger; //Debugger Not Coming Here
        return{
            require: 'ngModel',
            link: function(scope, element, attr, ngModel){
                debugger; //Debugger Not Coming Here Too
                ngModel.$formatters.push(function(value){
                        return new Date(value);
                });

                ngModel.$parsers.push(function(value){
                    if(typeof value === 'object'){
                        return value.getTime();
                    }
                });

            }
        };
    });

在视图中使用它:

 <td><input type="text"  ng-model="item.s_modified_on" toDate /></td>

它不起作用。

1 个答案:

答案 0 :(得分:3)

使用

 <td><input type="text"  ng-model="item.s_modified_on" to-date /></td>

而不是

 <td><input type="text"  ng-model="item.s_modified_on" toDate /></td>
  

指令有诸如ngBind之类的骆驼名称。可以通过将驼峰案例名称转换为具有以下特殊字符的蛇案例来调用该指令:, - 或_。可选地,该指令可以以x-或数据为前缀,以使其符合HTML验证器。

参考:https://docs.angularjs.org/guide/directive