我有一个名为ip-abc
的指令,该指令用于检查字段的输入值并转换为美元格式的值。我有一个条件,如果我们将值设为“ 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中设置ipZeroDollar = 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>
答案 0 :(得分:0)
这是您使用hasOwnProperty()的方式。
let obj = {color: 'yellow'}
obj.hasOwnProperty('color') // returns true
您似乎想在hasOwnProperty()
上调用Data
,因为这看起来像是一个对象,这就是您要获取金额的地方。
答案 1 :(得分:0)
我面临的问题是,如何在HTML中设置
ipZeroDollar = true
。截至目前,(attrs.hasOwnProperty('ipZeroDollar'))
以假的形式出现。
camelCase需要在HTML中标准化为kebab-case:
<input type="tel" name="amount" class="form-control"
ng-model="Data.Amount" maxlength="15" required
ip-abc ip-zero-dollar />
有关更多信息,请参见
angular.module("app",[])
.directive("ipAbc", function() {
return {link: postLink};
function postLink(scope,elem,attrs) {
var hasIpZeroDollar = attrs.hasOwnProperty("ipZeroDollar");
console.log("hasIpZeroDollar",hasIpZeroDollar);
}
})
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="app"
<input type="tel" name="amount" class="form-control"
ng-model="Data.Amount" maxlength="15" required
ip-abc ip-zero-dollar />
</body>