我有一个要求,对于某些类型的作用域变量,我想在AngularJs中保留两位小数。为此,我做了以下工作:html
<span floatval="{{someVariable}}">{{someVariable}}</span>
js
var app = angular.module('app',[]).directive('floatval', function(){
return function(scope, element, attrs){
var newInt = parseFloat(attrs.floatval);
var n = newInt.toFixed(2);
}
});
我被困在这里,因为我现在不知道如何在原始范围
{{somevariable}}
的地方反映这个新值 最佳答案
您可以指定指令的范围。这样就建立了双向绑定。
var app = angular.module('app',[]).directive('floatval', function(){
return {
scope: {
floatval: '='
},
link: function(scope, element, attrs){
scope.floatval = parseFloat(scope.floatval).toFixed(2);
}
};
});
然后,您需要更改HTML
<span floatval="someVariable">{{someVariable}}</span>
见https://code.angularjs.org/1.3.15/docs/guide/directive
链接到示例plnkr:http://plnkr.co/edit/aRyp1v9tGH7z8X28fewP?p=preview
关于javascript - 在 Angular Directive(指令)中更改属性的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29341073/