Problem with ng-checked AngularJS! [closed]

1

I have an input of type="radio" that when clicked calls a function and fills a select .. but this only happens when I click on the input .. I need it to automatically load the page, I have the following code:

<label class="margin-10-right">
   <input data-ng-click="vm.getFinanceiroTipoReceita(); vm.despesa.TipoSaida = false; vm.despesa.TipoEntrada = true"
       data-ng-checked="!vm.despesa.TipoEntrada"
       data-ng-value="true"
       data-ng-model="vm.despesa.TipoEntrada"
       name="tipo"
       type="radio">
       Entrada (Receita)
</label>

function getFinanceiroTipoReceita() {
  vm.listaArray = [];
  $.each(vm.listaTipoDespesa, function (indice, obj) {
    if (obj.TipoEntrada == true) {
      vm.listaArray.push(obj);
      // console.log(vm.listaArray);
    }
  });
}
    
asked by anonymous 08.09.2017 / 19:09

1 answer

1

Your problem is somewhat confusing, but you can use an example function with _ inicializar to allow selection and filtering to be executed as soon as you start controller :

angular
  .module('meuApp', [])
  .controller('MeuController', MeuController);

MeuController.$inject = ['$filter'];

function MeuController($filter) {
  var vm = this;
  var _opcoes;
  
  vm.filtrar = _filtrar;
  vm.selecionado = {};
  
  _inicializar();

  function _inicializar() {
    vm.tipos = [];
    
    vm.tipos.push({descricao: 'Débito', tipo: 'D'});
    vm.tipos.push({descricao: 'Crédito', tipo: 'C'});
    
    _opcoes = [];
    _opcoes.push({descricao: 'Conta Poupança', tipo: 'C', codigo: 1});
    _opcoes.push({descricao: 'Conta Corrente', tipo: 'D', codigo: 2});
    _opcoes.push({descricao: 'Dinheiro', tipo: 'C', codigo: 3});
    _opcoes.push({descricao: 'Dinheiro', tipo: 'D', codigo: 4});
    _opcoes.push({descricao: 'Vale Compra', tipo: 'C', codigo: 5});
    _opcoes.push({descricao: 'Cartão de Crédito', tipo: 'D', codigo: 6});
    _opcoes.push({descricao: 'Vale Alimentação', tipo: 'D', codigo: 7});
    _opcoes.push({descricao: 'Vale Refeição', tipo: 'D', codigo: 8});
    
    vm.selecionado.tipo = 'D';
    vm.filtrar();
  }
  
  function _filtrar() {
    vm.opcoes = $filter('filter')(_opcoes, {tipo: vm.selecionado.tipo});
    vm.selecionado.opcao = vm.opcoes[0].codigo;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script><divng-app="meuApp" ng-controller="MeuController as vm">
  <label ng-repeat="tipo in vm.tipos">
    <input type="radio"
           ng-model="vm.selecionado.tipo"
           ng-change="vm.filtrar()"
           ng-value="tipo.tipo"/>
    {{tipo.descricao}}
  </label>
  <br>
  <br>
  <select ng-options="opcao.codigo as opcao.descricao for opcao in vm.opcoes"
      ng-model="vm.selecionado.opcao"></select>
</div>
    
11.09.2017 / 16:06