Passe os dados da forma angular para outro controlador

João

Eu sou novo no angularjs. Quero passar dados do formulário html para outra rota.

Aqui está a parte de index.html

<div ng-app="myApp" ng-controller="HomeController">
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <div ng-view=""></div>
            </div>
        </div>
    </div>
</div>

Aqui estão as rotas

var myApp = angular.module('myApp', ['ngRoute']);
myApp.config(['$routeProvider', function ($routeProvider) {
   $routeProvider.when('/', {
   templateUrl: 'views/home.html',
   controller: 'HomeController'
});
$routeProvider.when('/about', {
  templateUrl: 'views/about.html',
  controller: 'AboutController'
});
}]);

Quando a rota é / atinge o ponto de vista / home.html no qual tem um formulário

<form action="#/about" ng-submit="submitData()">
    <input type="text" name="address" ng-model="user.address" />
    <input type="submit" />
</form>

Eu tenho um serviço de usuário cuja implementação é

myApp.factory("user", function () {
     return {};
});

Eu injeto serviço de usuário no HomeController como

 myApp.controller("HomeController", function ($scope, user) {
          $scope.user = user;
          // and then set values on the object

          // $scope.user.address = "1, Mars";    // when uncomment this line it can be accessed on AboutController? Why? Otherwise I cannot access user.address
          console.log($scope.user);
  });

Não anote meu comentário no código acima ..

e passa o usuário para AboutController como

myApp.controller("AboutController", function ($scope, user) {
    $scope.user = user;
    // and then set values on the object
    $scope.user.firstname = "John";
    $scope.user.secondname = "Smith";
    console.log($scope.user);
});

Aqui está o about.html

<p>
    {{ user.address }}
</p>

Problema: {{user.address}} não funciona no AboutController . Não consigo ver nenhuma saída ... Mas quando eu removo o comentário do código acima ... Ele só exibe valores codificados permanentemente no controlador O que estou perdendo?

Esta é a demonstração de trabalho http://ashoo.com.au/angular/#/

LJ.Wizard

No momento, tudo o que seu serviço faz é passar um objeto em branco return {}para qualquer controlador no qual ele seja injetado. Você precisa de uma abordagem getter / setter, de modo que em sua Homevisualização você possa definir os dados e, em sua Aboutvisualização, você possa recuperá-los.

Portanto, seu serviço pode ser semelhante a este:

myApp.factory("user", function () {

     var dataObj = {};

     return {
            setData: function(data) {
               dataObj.username = data.username;
            },
            getData: function() {
               return dataObj;
            }
     };
});

Agora você pode definir os dados em seu Homecontrolador:

myApp.controller("HomeController", function ($scope, user) {

    $scope.submitData = function(data)  {  //pass in ng-model
       user.setData(data);  //call 'user' service to set data
    }
  });

E chame de seu Aboutcontrolador:

myApp.controller("AboutController", function ($scope, user) {
    $scope.user = user.getData();  //Assign 
    console.log($scope.user.username);
});

E seu html ficaria assim:

<form action="#/about" ng-submit="submitData(user.username)">
    <input type="text" name="address" ng-model="user.username" />
    <input type="submit" />
</form>

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Passe os dados criados para outro controlador

Passe os dados para outro controlador de visualização no controlador de navegação

Chame a função ou passe dados para outro controlador AngularJS

Passe os dados para ver o controlador da classe de modelo obtida no login do Facebook

passar dados da visualização para o controlador, de onde os dados vêm de outro controlador

passe os dados de um componente para outro usando entrada e saída

Passe os parâmetros clicando no botão para outro controlador

Passe dados da função de retorno de chamada JSONP para o controlador Angular

Angular: passe os dados do serviço / fábrica para o controlador

Passe a linha de dados da esteira ao clicar para outro componente no Angular 7

Angular 1 - compartilha dados da chamada de descanso para outro controlador

Angular 1 - compartilha dados da chamada de descanso para outro controlador

Passe os dados do queryset para outro django de consulta

VueJS, passe os dados do componente para outro

login CodeIgniter 3 redireciona os dados para outro controlador

Roteador AngularJS ui angular - Passe dados personalizados para o controlador

Passe dados de um componente para outro Angular 2

Passe dados de um componente para outro em angular

Passe dados para outro componente

Como chamar o método de um controlador para outro controlador em AngularJs 1.7.x, para atualizar os dados da IU

Passe o id da barra de navegação para armazenar a função de outro controlador

Passe os dados da lâmina para o componente vue

Passe os dados para o formato modal da tabela

Passe os dados da lâmina para o componente vue

Passe os dados da matriz para reagir à visão nativa

Passe os dados da linha para a função Javascript

Passe dados de um arquivo js para outro de forma síncrona no NodeJS

Passe o contexto do controlador da solicitação da web para a camada do banco de dados

Transpor os dados da coluna de um dataframe para outro

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    UITextView não está exibindo texto longo

  3. 3

    Dependência circular de diálogo personalizado

  4. 4

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  5. 5

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  6. 6

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  7. 7

    Setas rotuladas horizontais apontando para uma linha vertical

  8. 8

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  9. 9

    Definir um clipe em uma trama nascida no mar

  10. 10

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  11. 11

    Como dinamizar um Dataframe do pandas em Python?

  12. 12

    regex para destacar novos caracteres de linha no início e no fim

  13. 13

    Why isn't my C# .Net Core Rest API route finding my method?

  14. 14

    Como obter a entrada de trás de diálogo em treeview pyqt5 python 3

  15. 15

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  16. 16

    How to create dynamic navigation menu select from database using Codeigniter?

  17. 17

    Como recuperar parâmetros de entrada usando C #?

  18. 18

    Changing long, lat values of Polygon coordinates in python

  19. 19

    Livros sobre criptografia do muito básico ao muito avançado

  20. 20

    Método \ "POST \" não permitido no framework Django rest com ações extras & ModelViewset

  21. 21

    Pesquisa classificada, conte números abaixo do valor desejado

quentelabel

Arquivo