Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 14505|Resposta: 0

[Outros] Guia de Início e Introdução ao Knockout

[Copiar link]
Publicado em 11/08/2017 12:24:27 | | |

O que é Knockout.js?

Knockout é uma ótima biblioteca de JavascripEla ajuda a criar uma interface de usuário rica em texto, com boas capacidades de exibição e edição, utilizando apenas um modelo de dados subjacente claro e limpo. Sempre que o conteúdo da interface local precisa ser atualizado automaticamente (por exemplo, dependendo de mudanças no comportamento do usuário ou fontes externas de dados), o KO pode ser facilmente implementado e muito fácil de manter.

Características importantes do KO:

Rastreamento elegante de dependências - Sempre que o modelo de fonte de dados muda, ele pode atualizar automaticamente o conteúdo especificado da sua interface.
Vinculação declarativa - Ela vincula sua interface ao modelo de fonte de dados de forma simples e simples, e você pode usar qualquer modelo de estrutura aninhada para construir uma interface dinâmica complexa.
Boa escalabilidade – um comportamento personalizado pode ser implementado com algumas linhas simples de código para vincular como uma nova declaração.
Outras vantagens:

Biblioteca pura de Javascrip{filtering}t - compatível com qualquer tecnologia de servidor e cliente.
Ele pode ser aplicado bem a aplicações existentes – sem a necessidade de mudanças na arquitetura principal do programa.
Simplicidade - apenas 13K após compressão Gzip.
Compatível com qualquer navegador principal (ex: 6+, Firefox 2+, Chrome, Safari e outros)
Um conjunto abrangente de especificações (com desenvolvimento orientado por comportamento) – isso significa que elas podem ser facilmente verificadas em novos navegadores ou plataformas.
Desenvolvedores familiarizados com Ruby on Rails, Asp.net MVC ou outras tecnologias MVC podem achar que ele é uma forma em tempo real MVC com sintaxe declarativa. Em outras palavras, você pode pensar no KO como uma forma de criar uma interface de usuário editando dados JSON... Seja lá o que isso fizer por você.

Como usar?

A maneira mais rápida e divertida de começar é através de instrução interativa, e depois de dominar as técnicas mais básicas e aprender cada instância online, estará pronto para trabalhar em seus projetos.

KO e Jquery (protótipo, etc.) estão competindo entre si ou podem ser usados juntos?

Todo mundo adora Jquery! No passado, tivemos que suportar vários métodos inconsistentes de manipulação de objetos DOM para API, e o surgimento do Jquery é uma ótima alternativa aos frameworks pesados do passado, tornando-o flexível e fácil de usar. O JQUERY é excelente e fácil de usar para manipulação de elementos de página web e gerenciamento de eventos, enquanto o KO resolve um problema diferente.

Se sua interface de interface for um pouco mais complexa e tiver alguns dos mesmos comportamentos, se você usar apenas o Jquery, a interface será mais complexa e difícil do que você imagina, e será bem caro de manter. Considere o exemplo de exibir uma lista de itens em uma tabela, indicar o número de listas na tabela e ativar o botão "Adicionar" quando o número de listas de itens for menor que 5, caso contrário desativado. O jquery não tem um conceito básico de modelo de dados, então se você quiser obter o número de listas de projetos, precisa inferir a partir dos números de tabela/tr/div. Se você precisar exibir a quantidade de dados em certos SPANSs, também deve lembrar de atualizar o texto do SPAN ao adicionar novos dados. Claro, você também precisa lembrar que, quando o número total >=5, é preciso desativar o botão Adicionar. Depois, se quiser implementar a função Delete, precisa apontar qual elemento DOM precisa ser alterado após clicar.

Como é diferente fazer isso com Knockout?

Com o KO, tudo fica muito simples. Isso permite que você escale facilmente a complexidade do seu projeto sem se preocupar com as inconsistências de dados resultantes. Ele simplesmente converte seus dados em um array Javascrip{filter}t e depois usa o foreach para vincular o array de dados a uma tabela ou a um conjunto de divs na página. Sempre que o array de dados muda, a interface responde automaticamente à alteração (você não precisa indicar como inserir uma nova linha ou onde), e o resto é a sincronização de dados da interface. Por exemplo, você pode declarar o seguinte SPAN para exibir a quantidade de dados:


É isso! Você não precisa escrever código para atualizá-lo, a atualização depende de mudanças no array myItems. Da mesma forma, a habilitação e desativação do botão Add depende do comprimento do array myItems, conforme segue:


Depois disso, se você precisar implementar a função "Delete", não precisa especificar como manipular os elementos da interface, basta modificar o modelo de dados.

Resumo: O KO não tem intenção de competir com o jQuery e outros frameworks similares de manipulação do DOM. O KO fornece uma forma de alto nível de correlacionar o modelo de dados com a interface da interface do usuário.O KO não depende do jQuery em si, mas você pode usar o jQuery junto, Mudanças vívidas e suaves na interface requerem o uso do jQuery.

Recursos:

http://www.aizhengli.com/knockoutjs/50/knockout.html

http://knockoutjs.com/




Anterior:O framework de serviço RPC Dubbo será oficialmente mantido e suportado
Próximo:Baidu Maps remove informações de direitos autorais do logotipo
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com