dados unidireccionais vue de fluxo e ligação de duas vias

vue vez que é um one-way de fluxo de dados, mas também quadro MVVM, então, entre os quais não há conflito.

fluxo de dados unidireccional

fluxo de dados de modo refere-se ao estado só podem ser modificados a partir de uma direcção.

Aqui Insert Picture Descrição

Estado: as aplicações de acionamento de fonte de dados. ver: estado declarativa é mapeada para a vista. acções: em resposta à entrada de utilizador em vista as variações de estado.

forma como os dados fluxo de processo:

fluxo de dados maneira simples (fluxo unidirecional de dados) refere-se a um acesso de usuário, Vista Ação emitido interação do usuário, para atualizar o estado correspondente na Acção. Depois que o estado irá acionar o Ver página de atualização processo de atualização. Esses dados só de ida flui sempre clara, fácil de manter e pode ser previsto.

Características:

(1) alterar o estado de todos gravável, rastreável, fonte facilmente rastreável;
(2) apenas uma cópia de todos os dados, existe apenas um dos dados de entrada e saída de componente, de modo que o programa mais intuitivo e fácil de entender, propício para a manutenção de aplicação ;
(3) Uma vez que as alterações de dados, vá para a página de atualização (data- página), mas não (página -data);
(4) Se o usuário faz alterações na página, então recolhidos manualmente (duas vias automática), fusão aos dados originais.

O fluxo de dados entre os componentes individuais:

componentes pai de dados adereços podem fluir para o subconjunto, e quando os dados são alterados componentes pai, o subconjunto receberá automaticamente esses dados modificados e atualiza a página.

Portanto, os dados são tipicamente fornecida pelo componente de origem, quando os componentes pai dados mudou, o subconjunto receberá automaticamente os dados de alteração, actualizando deste modo o subconjunto.

Mas não vice-versa, essa mudança irá impedir que o pai dos sub-conjuntos de componentes estado inesperado, resultando em seus dados de aplicativos de fluxo difícil de entender.

componentes cada vez que o pai é atualizado, subconjuntos são todos os prop irá atualizar para o último valor. Isso significa que você não deve alterar prop dentro de um subconjunto. Se você fizer isso, Vue emitirá um aviso na consola browser.

Nota:

1, os fluxos de dados a partir de um componente de matriz (transmitido) para o sub-conjunto, a ligao apenas um sentido.

2, a transferência de dados não deve ser modificado ao longo do elemento pai dentro do subconjunto.
Aqui Insert Picture Descrição
vantagens:

1. O Estado pode mudar todos os registros, faixas, fonte facilmente rastreável;
2. apenas uma cópia de todos os dados, existe apenas um dos dados de entrada e saída de componente, de modo que mais intuitiva e mais fácil de entender o programa, facilitar a aplicação de manutenção;
3 Uma vez que as alterações de dados, vá para a página de atualização (data- página), mas não (página -data);
4. Se o usuário faz alterações na página, então recolhidos manualmente (de duas vias automática), incorporados o original dados.

desvantagens:

código HTML é processado, não pode ser alterado, não há novos dados, você tem que colocar o código HTML velho é removido, a integração de novos dados e modelos para re-render;
aumenta a quantidade de código e um processo de transferência de dados torna-se mais, muito parecido com o código clichê;
ao mesmo tempo, como o status da aplicação gestão independente de requisitos rigorosos (, repositório global única), quando se lida com o estado mais localizada da cena (como a entrada do usuário para interagir mais aplicações "forma rica"), vai parecer prolixo e enfadonho.

vue de ligação de duas vias

MVVM é alcançar um quadro, principalmente composto de três partes no Vue, Vista, eo Modelo ViewModel, onde Model View e não pode se comunicar diretamente, eles têm que ser realizada pelo middleware ViewModel. Por exemplo, quando os dados altera secção modelo, uma vez que vue Ligação de dados na camada de dados subjacente e é obrigado a D., ViewModel Ver vista notificação de actualização camada; Ver vista quando uma mudança nos dados também é sincronizado com o modelo. Sincronização é completamente o funcionamento automático, manual, sem DOM humana entre View e Modelo.
Aqui Insert Picture Descrição
vantagens :

1. Um utilizador visualiza as modificações são automaticamente sincronizados para o modelo de dados, a alteração no valor seria imediatamente sincronizado com o modelo de dados para exibição;
essas operações relacionadas e a necessidade de dados de 2 vias de ligação;
3. sob uma forma cena mais interativo, um grande número de negócios independente irá simplificar o código.

desvantagens:

1. não acompanhar as mudanças no estado local;

2. "operações secretas", aumentando a dificuldade de depuração quando ocorre um erro;

4. Uma vez que a entrada de dados componente se torna possível mudar mais de uma fonte, o fluxo de dados direção dos distúrbios fáceis, não têm se mais "controle" significa, metrorragia.

vue vez que é um one-way de fluxo de dados, mas também quadro MVVM, então não há nenhum conflito entre esses?

Ou seja, os dois não são mutuamente exclusivos, o fluxo global de dados no único uso, fácil de traçar; fluxo de dados de localidade bidirecional, fácil de operar.

Para controles não-UI, a ausência de duas vias, one-way somente. controles de interface do usuário só tem um problema de duas vias. os fluxos de dados de ligação são tais que unidireccional unidireccional, a qual é para aplicações complexas unificadas gestão de estado (por exemplo Vuex) premissa. Caminho obrigatório em algumas ocasiões requerem resposta em tempo real será muito conveniente para a entrada do usuário (como o envio do formulário). Mas esta conveniência é geralmente considerada inferior para apresentar as vantagens trazidas pelo gerenciamento de estado de aplicações complexas.

Para o v-modelo vue é, ele é um adoçante, usando o evento sintaxe se ligam a alcançar a ligação entre os dados e o ponto de vista.
v-modelo para ser entendido que tal código abaixo (não exatamente)

É essencialmente um fluxo unidirecional de dados no caso a operação de adição usuário obter dados de duas vias de ligação.

Após a realização clara do princípio da ligação de duas vias, você pode ver a diferença entre a ligação só é amarrado com a operação de alteração de dados escondidos dentro do quadro de duas vias ligam dois sentidos, o chamador não será percebido diretamente.

Caminho de ligação, conseqüentemente, realizar o fluxo de dados é unidirecional, mas na prática a forma como os dados de fluxo Vuex, mas é de fato envolvido em um despachante evento singleton global (despachante), o desenvolvedor deve explicitamente fazendo este mecanismo unificado evento de notificação de alteração de dados. Na verdade, desta forma, com a estrutura de ligação de duas vias para controles de interface do usuário é o mesmo caminho. Todos os eventos subjacentes mecanismos. Imagine que, assumindo que a aplicação de duas vias de ligação, temos um ouvinte de evento ou modo observador de modificar o quadro de dados automaticamente vinculado a controles de interface do usuário e, em seguida, adicione a lógica despachante semelhante, muda no estado por trás da ligação como podemos gerir dois sentidos e você só pode desfrutar de fluxo unidirecional de dados de renda.

Publicado 83 artigos originais · Louvor obteve 337 · vista 560 000 +

Acho que você gosta

Origin blog.csdn.net/liuyifeng0000/article/details/104976813
Recomendado
Clasificación