Jump to content
marcelobbt

Angular JS Controller não funciona

Recommended Posts

Estou tentando fazer uma aplicação em angularjs mas quando adiciono o controller da sempre esse erro:

 

Uncaught Error: [$injector:modulerr] 

 

Abaixo minha aplicação:

HTML

<div class="row"  ng-app="acidenteApp">
	<div class="col-sm-12"  ng-controller="AcidenteController">
	<p> teste de funcionamento {{1+1}}</p>
		<h2>Cadastrar Acidente</h2>
		<p><?php echo '<strong>'.$mensal->__get('empresa').'</strong> - '.$mensal->__get('mes').'/'.$mensal->__get('ano'); ?></p>
		<?php echo form_open('../CadastrarAcidente/'.$mensal->__get('idMensal'), array('class'=>"form-horizontal", 'name'=>'formAcidente', 'id'=>'formAcidente')); ?>
		<div class="form-group">
			<label class="col-sm-2 control-label">Dia do Acidente:</label>
			<div class="col-sm-10">
				<?php echo form_input(array('type'=>"number", 'class'=>"form-control", 'name'=>'diaform','id'=>'diaform'), set_value('diaform')); ?>
				<p class="help-block">O dia é obrigatório</p>
			</div>
		</div>
		<div class="form-group">
			<label class="col-sm-2 control-label">Descrição do Acidente:</label>
			<div class="col-sm-10">
				<?php echo form_textarea(array('class'=>"form-control", 'name'=>'descricaoform','id'=>'descricaoform'), set_value('descricaoform')); ?>
			</div>
		</div>
		<div class="form-group">
			<label class="col-sm-2 control-label">Recomendações/Ações Após o Acidente:</label>
			<div class="col-sm-10">
				<?php echo form_textarea(array('class'=>"form-control", 'name'=>'recomendacaoform','id'=>'recomendacaoform'), set_value('recomendacaoform')); ?>
			</div>
		</div>
		<div class="form-group">
			<label class="col-sm-2 control-label">Adicionar acidentado:</label>
			<div class="col-sm-10">
				<?php echo form_button(array('name'=>'adicionarAcidentado','id'=>'adicionarAcidentado'), "+"); ?>
			</div>
		</div>
		<div class="form-group">
			<div class="col-sm-offset-2 col-sm-10">
				<?php echo form_button(array('name'=>'cadastrar', 'ng-disabled'=>'formAcidente.$invalid'),"Cadastrar"); ?>
			</div>
		</div>
		<p><?php echo $erro; ?></p>
	</div>
	<script src="<?php echo base_url(); ?>js/angular.min.js"></script>
	<script src="<?php echo base_url(); ?>js/acidente.js"></script>
</div>

Abaixo o arquivo javascript acidente.js

 

// criar angular app
var acidenteApp = angular.module('acidenteApp', []);

acidenteApp.controller('AcidenteController', function AcidenteController($scope) {
  console.log('teste');
});

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By JullySL
      Olá, criei um projeto em asp.net mvc 5 com sites multiplos para o cliente escolher o seu modelo de layout.
      Porém estou com um problema de "processamento" ao meu ver e gostaria de otimizar isso.
      Todo método do meu controller estou precisando chamar uma ViewModel nela ele Lê o cliente e todas informações do web site do cliente, gostaria de saber se isso é realmente necessário ou tem uma forma melhor de ser feito? Vou postar um exemplo:
       
      ViewModel:
              public HomeViewModel(string website)
              {
                  var uow = new UnitOfWork();
                  var contratante = uow.ClienteRepositorio.Buscar(c => c.WebSite == website);
                  Tema = contratante.Registro;
                  IdCliente = cliente.Id;
                  MetaKeywords = "teste metakey";
                  MetaDescription = " teste metaDescription";
                  FavIcon = "caminhodafoto";
                  [demais campos]
              }
       
      Controller
      1º método
              public ActionResult Index()
              {
                  var dominio = Tema.TemaAtual();
                  homeViewModel = LerDominio(dominio);

                  return View("~/Views/Tema/"+homeViewModel.Tema+"/Home/Index.cshtml", homeViewModel);
              }

      2º método
      public ActionResult Servicos()
              {
                  var dominio = Tema.TemaAtual();
                  homeViewModel = LerDominio(dominio);
                  return View("~/Views/Tema/"+homeViewModel.Tema+"/Home/Servicos.cshtml");
              }
      Agradeço a ajuda de vcs
    • By Vinícius022
      Acho que estou com algum problema de herança ou coisa assim, eu não consigo chamar mais de um Container::getModel no meu Controller. Vou colocar o meu __construct aqui e o erro que ele me retorna

      PaginaController.php
      public function __construct()
      {
        parent:: __construct();
        #se eu comentar e deixar apenas um ai ele funciona, mas quando tento fazer com mais de um ele da um erro
        $this->contato       = Container::getModel("Contato");
        $this->noticia       = Container::getModel("Noticias");
        $this->institucional = Container::getModel("Institucional");
        $this->atuacao    = Container::getModel("Atuacao");
        $this->banner    = Container::getModel("Banners");
      }
      Container.php
      public static function getModel($model)
      {
          $objModel = "\\App\\Models\\".$model;
          return new $objModel(DataBase::getDataBase());
      }
      Fatal error: Uncaught TypeError: Argument 1 passed to Core\BaseModel::__construct() must be an instance of PDO.
    • By marcelobbt
      Eu estou montando um form para editar alguns dados, então uso o PHP/Codeigniter para montar a página com as informações. Acontece que existem umas caixas de escolha que possuem um código em AngularJS para executar uma fórmula e quando coloco o "ng-model", simplesmente some o item que deveria estar marcado.
       
      Segue parte do form abaixo:
      <div class="form-group"> <label>Trajetória:</label> <?php echo form_input(array('type'=>"text", 'class'=>"form-control", 'name'=>'trajetoriaform','id'=>'trajetoriaform'),$riscoBD->__get('trajetoria')); ?> </div> <div class="form-group"> <label>Frequência:</label> <?php echo form_dropdown(array('class'=>"form-control", "ng-model"=>"frequencia", "ng-change"=>"calcRisco()", 'name'=>'frequenciaform','id'=>'frequenciaform'), $frequencia, $riscoBD->__get('frequencia')); ?> </div> <div class="form-group"> <label>Probabilidade:</label> <?php echo form_dropdown(array('class'=>"form-control", "ng-model"=>"probabilidade", "ng-change"=>"calcRisco()", 'name'=>'probabilidadeform','id'=>'probabilidadeform'), $probabilidade, set_value('probabilidadeform')); ?> </div> <div class="form-group"> <label>Severidade:</label> <?php echo form_dropdown(array('class'=>"form-control", "ng-model"=>"severidade", "ng-change"=>"calcRisco()", 'name'=>'severidadeform','id'=>'severidadeform'), $severidade, set_value('severidadeform')); ?> </div> <div class="form-group"> <label>Risco:</label> <?php echo form_input(array('type'=>"text", "ng-value"=>"resultadorisco", 'class'=>"form-control", 'name'=>'riscoform','id'=>'riscoform', "ng-model"=>"risco"),set_value('riscoform')); ?> </div>  
      Quando gera o html, ao colocar para inspecionar o código de uma das caixas o código fica assim:
      <div class="form-group"> <label>Frequência:</label> <select class="form-control" ng-model="frequencia" ng-change="calcRisco()" name="frequenciaform" id="frequenciaform"> <option value="? undefined:undefined ?"></option> <option value="1" selected="selected">Rara</option> <option value="2">Eventual</option> <option value="3">Habitual</option> <option value="4">Permanente</option> </select> </div> Essa linha "4" aparece do angularJS e é o que impede que apareça o valor selected.
       
      Queria saber se tem algum geito de fazer o javascript mostrar o valor que vem do PHP.
       
      Abaixo o script:
      var app = angular.module('risco', []); app.controller('CalculaRisco', function($scope) { $scope.frequencia; $scope.probabilidade; $scope.severidade; $scope.calcRisco = function () { var freq = parseInt ($scope.frequencia); var prob = parseInt ($scope.probabilidade); var sev = parseInt ($scope.severidade); //console.log(sev+' '+prob+' '+freq); risco = freq + prob + sev; if (risco <= 4) { $scope.risco = 'Baixo'; } else if (risco <= 7) { $scope.risco = 'M\u00e9dio'; } else if (risco <= 10) { $scope.risco = 'Alto'; } else { $scope.risco = 'Muito Alto'; } //console.log(risco+$scope.severidade); }; });  
    • By Alex Gustavo Canalli de So
      Boa noite pessoal.

      Estou desenvolvendo uma aplicação de controle de finanças com receitas, despesas, transferências entre contas, relatórios e gráficos em angularjs + webapi + ddd + automapper + injeção de dependencias para estudo de novas tecnologias, pois trabalho atualmente com WebForms.

      Criei todas as (Domais, Applications, Services, Repository, etc).

      A minha grande dúvida é a seguinte:
      Nas telas de cadastro eu basicamente retorno o objeto inteiro no controller de cada entidade (domain), Mas na tela de gráfico por tipo de despesa por exemplo, não consigo fazer dessa forma, pois preciso retornar o valor total de despesas cadastradas para cada tipo em determinado período.
      No WebForms eu criaria uma classe personalizada com os campos necessários e faria um select new { } direto no link setando o valor de cada campo, porém, no ddd me vejo obrigado a instanciar os campos fixos do domain.
      Existe alguma forma de criar uma view personalizada para o retorno de uma consulta?
    • By StraightFree
      Senhores, bom dia!
       
      Preciso da ajuda de vocês para tentar solucionar esse problema.
       
      Sou programador Delphi e precisei fazer o acesso aos dados gerados pelo sistema desktop pela web. 
       
      Optei por utilizar o DataSnap para criar o WebService, por já ter mais familiaridade com a ferramenta.
       
      Assim, comecei a fazer os testes para acessar o WebService através de um cliente HTML + AngularJS. Criei no DataSnap 4 webservice:
      function Produto : TJSONArray; function updateProduto(AValue: TJSONObject) : TJSONObject; function acceptProduto(AValue: TJSONObject) : TJSONObject; function cancelProduto(AKey: String) : TJSONObject; O DataSnap faz o mapeamento automático para cada uma das funções de acordo com o método HTTP chamado na requisição, conforme abaixo:
      Cliente Requisição DataSnap Chama a function GET Produto POST updateProduto PUT acceptProduto DELETE cancelProduto Se eu chamar os métodos através de um cliente Delphi chamado RestDebbuger (acompanha o delphi) ou um software de teste de webservice chamado SoapUI consigo acessar todas as funções do webservice sem nenhum problema.
       
      Criei um cliente para consumir esses webservices em HTML e JavaScript/AngularJS, nesse cliente consigo consumir sem problemas os métodos GET e POST. No entanto, quando tento acessar o método PUT ou DELETE sempre me retorna um erro 500 no servidor. Fiz o debbug da aplicação Delphi após fazer a chamada pelo cliente AngularJS e percebi que não está chegando o método ao servidor e por isso ele dá um erro na requisição. 
      Chamando esse método pelo RestDebbuger e pelo SoapUI funciona normalmente.
       
      Alguém saberia me dizer por qual motivo não consigo acessar esse método pelo angularJS?
       
      Qualquer ajuda será muito bem vinda.
       
      Obrigado!
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.