Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery AngularJS指令在<;输入>;最初加载到DOM中_Jquery_Angularjs_Dom_Angularjs Directive_Dom Events - Fatal编程技术网

Jquery AngularJS指令在<;输入>;最初加载到DOM中

Jquery AngularJS指令在<;输入>;最初加载到DOM中,jquery,angularjs,dom,angularjs-directive,dom-events,Jquery,Angularjs,Dom,Angularjs Directive,Dom Events,我正在尝试实现一个angular指令,该指令将在位于DOM上时立即隐藏字段的零。基本上: 我的代码如下所示: 但是,从未打印控制台日志。我还尝试了“input onload”、“input init”、“input all”和“input”,结果都是一样的。我不知道第一次将添加到DOM时会发出什么事件关键字?我怎么知道 为此,您可以查看代码查看$formatters。它们用于在更改或初始加载模型时设置模型视图的格式。普朗克 您的指令将如下所示: .directive('hideZero',

我正在尝试实现一个angular指令,该指令将在
位于DOM上时立即隐藏字段的零。基本上:

我的代码如下所示:

但是,从未打印控制台日志。我还尝试了“input onload”、“input init”、“input all”和“input”,结果都是一样的。我不知道第一次将
添加到DOM时会发出什么事件关键字?我怎么知道


为此,您可以查看代码

查看
$formatters
。它们用于在更改或初始加载模型时设置模型视图的格式。普朗克

您的指令将如下所示:

.directive('hideZero', [ function() {
    return {
      require: '?ngModel', // get a hold of NgModelController
      link: function(scope, element, attrs, ngModel) {

        // Specify how UI should be updated
        ngModel.$formatters.push(function(value) {
          if (value === 0) {
            // If the value is zero, return a blank string.
            return '';
          }

          return value;
        });
      }
    };
  }]);

load
事件可能不会针对所有元素触发

只需让
test
保持未分配状态。您可以在plunkr中试用,文本框将为空。@Strelok这对我的应用程序不起作用。如果初始负载不是零,我仍然希望能够显示测试数据
.directive('hideZero', [ function() {
    return {
      require: '?ngModel', // get a hold of NgModelController
      link: function(scope, element, attrs, ngModel) {

        // Specify how UI should be updated
        ngModel.$formatters.push(function(value) {
          if (value === 0) {
            // If the value is zero, return a blank string.
            return '';
          }

          return value;
        });
      }
    };
  }]);