Javascript 如何将hasOwnProperty与AngularJS指令'attrs'对象一起使用

Javascript 如何将hasOwnProperty与AngularJS指令'attrs'对象一起使用,javascript,html,angularjs,angularjs-directive,Javascript,Html,Angularjs,Angularjs Directive,我有一个名为ipabc的指令,用于检查字段的输入值并转换为美元格式的值。我有一个条件,如果我们的值是“0”,那么我将把它转换成$0 ipabc.js var filterFunc = function (value) { if(value == '0'){ if(attrs.hasOwnProperty('ipZeroDollar')){ var currencyValue = $filter('currency')(value); currencyV

我有一个名为
ipabc
的指令,用于检查字段的输入值并转换为美元格式的值。我有一个条件,如果我们的值是“0”,那么我将把它转换成$0

ipabc.js

var filterFunc = function (value) {
    if(value == '0'){
    if(attrs.hasOwnProperty('ipZeroDollar')){
       var currencyValue = $filter('currency')(value);
       currencyValue = currencyValue.toString();
       return currencyValue.replace('.00','');
    } 
}
我面临的问题是,如何在HTML中设置
ipzerodolar=true
。到目前为止,
(attrs.hasOwnProperty('ipZeroDollar')
将以
false
的形式出现

<div ng-class = {'//something'}
  <input type="tel" name="amount" class="form-control" ng 
   model="Data.Amount" maxlength="15" required ip-abc/>
</div>

这就是如何使用hasOwnProperty()

似乎您希望调用
hasOwnProperty()
on
Data
,因为这看起来像是一个对象,而这正是您获取金额的地方

我面临的问题是,如何在HTML中设置
ipzerodolar=true
。到目前为止,
(attrs.hasOwnProperty('ipZeroDollar'))
是假的

需要将HTML中的规范化为:

<input type="tel" name="amount" class="form-control"
       ng-model="Data.Amount" maxlength="15" required
       ip-abc  ip-zero-dollar />


attrs
来自哪里?无论如何,这不太可能成为一种财产。更有可能是一个条目。(例如,
attrs
更可能是一个名称/值对列表。当然是,但我不知道角度的东西…)如果attrs是一个包含
HTML标记属性的对象,请将名称更改为“data ipzerodolar”,并将输入更改为
。但是像
data currency=“ipzerodular”
这样的东西可能更好,这样您可以支持多种货币,但只能支持一个属性。再说一次,我甚至不确定在使用angular时,作为一个数据属性,这是否有意义。我也不理解使用电话输入来描述货币价值。如果这有效,请接受答案,以便其他人知道问题已经解决。
<input type="tel" name="amount" class="form-control"
       ng-model="Data.Amount" maxlength="15" required
       ip-abc  ip-zero-dollar />