0

このディレクティブは私にとって美しく機能しています:

    my1040pr.directive('myCurrency', function () {
    return {
        require: 'ngModel',
        restrict: 'A',
        link: function($scope, $element, $attrs) {
            $element.bind('change', function() {
                $element.formatCurrency({
                    roundToDecimalPlace: -2,
                    colorize: true
                });
            });
        }
    };
});

しかし、API への $resource 呼び出しを使用して Scope モデルを更新すると、モデルにはデータが正しく入力されますが、「変更」イベントのディレクティブで適用する必要がある通貨マスキングは適用されません...どんな助けでも大歓迎です...

_e

4

1 に答える 1

3

changeイベントに直接バインドする代わりに、 を使用する必要があります$scope.$watch。を使用してバインドされたモデルを確認する必要がありngModelます。

コールバックが角度イベント ループの外にあるため、現在のコードは機能せず、データ バインディングは起動しません。変更についてangularに伝えるにformatCurrencyは、その呼び出しをラップする必要があります。$scope.$apply

于 2012-11-27T17:42:37.827 に答える