AngularJS $ crypto和ng-options

时间:2015-11-13 17:46:21

标签: angularjs

我有以下代码:

Angular Code:

var app = angular.module('App',['mdo-angular-cryptography']);

app.controller('AtvdCtrl', function($scope, $crypto, PassWD, $http){  

    $scope.frInEtAc = ''; //edited 

    $scope.decriptar = function(dado){        
        return $crypto.decrypt(dado, $scope.PassWD.senha);
    }; 

    //edited
    $scope.frnt = [];
    $http.get('myURL')
    .success(function(retorno){
         $scope.frnt = retorno;
    })
    .error(function(erro){
         console.log(erro); 
    });

    $scope.Atvd = [];
    $http.get('myURL')
    .success(function(retorno){
         $scope.Atvd = retorno;
    })
    .error(function(erro){
         console.log(erro); 
    });

    $scope.inicEtgaAc = [];
    $scope.acharInicAc = function(cd){
    $http.get('myURL' + cd)
    .success(function(returnoI){
        $scope.inicEtgaAc = returnIncEntregaA;
    })
    .error(function(erro){
        console.log(erro);
    });
};
};

});

HTML代码:

<select id="nmFrInEtAc" ng-options="opt.cdFrnt as (decriptar(opt.nmFrnt) | uppercase) for opt in frnt" ng-model="frInEtAc" ng-change='acharInicAc(frInEtAc)' ng-required='true'>
       <option style="display:none" value=""></option>
</select>

特别是在ng-options中,我的功能不起作用。

我在这里指出了所有的依赖性:https://github.com/middleout/angular-cryptography

它确实在这里工作:

<div ng-repeat='atvd in Atvd>
    <span ng-bind='decriptar(atvd.nmAtvd)'/>
<div/>

1 个答案:

答案 0 :(得分:0)

看起来你正试图迭代一个不存在的变量。您的HTML代码正在使用for opt in frnt进行迭代,但您的控制器实际上从未为$scope.frnt设置值。