我有一个要求,对于某些类型的作用域变量,我想在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/

10-09 05:40