Jquery AngularJS指令在<;输入>;最初加载到DOM中
我正在尝试实现一个angular指令,该指令将在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',
位于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;
});
}
};
}]);