Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Cardview não são clicados?

Estou tentando aqui fazer meus cards serem clicados mas não estou obtendo sucesso, segue meu código:

Aqui está meu aquivo listagem.html:

<div class="card" ng-repeat="empresa in listaDeEmpresa" href="#/empresaescolhida">
        <div class="item item-text-wrap">Responsabilidade {{empresa.nomeEmpresa}}</div>    
        <div class="item item-divider">{{empresa.nomeUsuario}}</div>
    </div>

Definindo o controller da view que será chamada:

angular.module('starter')
.controller('empresaEscolhidaController', function($scope, $stateParams){

    $scope.empresaEscolhida = angular.fromJson($stateParams.empresa.nomeEmpresa);

    $scope.geradorPerguntas = [{"pergunta": "qual a pergunta 1?", "resposta": "resp"},
                                {"pergunta": "qual a pergunta 1?", "resposta": "resp"},
                                {"pergunta": "qual a pergunta 1?", "resposta": "resp"},
                                ];
});

Definição da rota responsável:

.state('gcmPerguntas',{
    url:'/gcmperguntas/:empresa.nomeEmpresa',
    templateUrl:'templates/gcm.html',
    controller:'empresaEscolhidaController'
})
7 respostas

Olá Hélio, tudo bem?

O seu href está apontando para "empresaescolhida" mas o nome da rota é "gcmPerguntas".

Eu consertei isso,professor. Porém os cards ainda não aparecem como um objeto clicado

Hélio,

a tag div não tem o atributo href. No nosso curso usamos a tag <ion-item> e não uma div.

<ion-item ng-repeat="carro in listaDeCarros" href="#/carroescolhido/{{carro}}" >

Mas, professor, estamos usando list na aula e eu estou tentando fazer com card.

solução!

Hélio,

Você pode colocar a tag <a> dentro da sua div, por exemplo:

<div class="card" ng-repeat="empresa in listaDeEmpresa">
    <a  href="#/gcmPerguntas">
            <div class="item item-text-wrap">Responsabilidade {{empresa.nomeEmpresa}}</div>  
    </a>
</div>

A gente também usou uma lista no nosso curso. Usamos ela dentro do corpo do card:

<div class="item item-text-wrap">
            {{carroEscolhido.nome}}

            <ul class="list">
                <li class="item item-toggle" ng-repeat="acessorio in listaDeAcessorios" >
                     {{acessorio.nome}} - R{{acessorio.preco | currency }}

                  </li>

            </ul>

        </div>

Deu certo, professor, eu coloquei a tag , fiquei até contente, mas poderia me explicar o porque não deu certo fazendo igual sua explicação?

E aproveitando, me explica como faço se eu quiser colocar um <ion-item> dentro de um card?

Olá Hélio.

Você quis colocar um link na div pai e não em um elemento dentro do card. Lembra que lá no curso eu primeiro criei o card e depois criei o conteúdo dele.

Dentro do conteúdo do card, vc pode criar um <ion-list> e depois o <ion-item>.

E no card a gente não usou o <ion-item>. Usamos ele na listagem dos carros na primeira tela.

Até a proxima

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software