AngularJS指令在最初加载到DOM时隐藏零

问题描述 投票:1回答:1

我正在尝试实现一个角度指令,一旦<input>在DOM上,它将立即隐藏零字段。基本上是这样:

Hide Value in input when it's zero in angular Js

我的代码看起来像这样:

<input hide-zero-onload ng-model="test"></input>

.directive('hideZeroOnload', function() {
    return {
        link: function(scope, element) {
            element.on('input load', function() {
                console.log('loaded');
                if (this.value === '0') {
                    this.value = '-';
                }
            });
        }
    };
});

但是,控制台日志永远不会打印。我还尝试了“ input onload”,“ input init”,“ input all”和“ input”,结果均相同。我不知道<input>首次添加到DOM时会发出什么事件关键字?我怎么知道?

您可以在http://plnkr.co/edit/TwraJlxZSd3TeSYscExq?p=preview中检出代码>

我正在尝试实现一个角度指令,一旦在DOM上,它将立即隐藏零字段。基本上是这样的:当角度Js为零时,在输入中隐藏值我的代码看起来是...

jquery angularjs dom angularjs-directive dom-events
1个回答
2
投票

为此目的,请看$formatters。它们旨在在更改或初始加载模型时格式化模型的视图。 Plunkr http://plnkr.co/edit/SA9xz6eQmk3t7qfRack7?p=preview

© www.soinside.com 2019 - 2024. All rights reserved.