notas de estudio Vue [1]

1.MVC diferencia con MVVM

modelo MVC representa el Modelo-Vista-Controlador (Model - Controlador - Vista) patrón.

Ver (View): la interfaz de usuario.
Un controlador (Controller): lógica de negocio
modelo (modelo): manipulación de datos (CRUD)

El modo interactivo es el siguiente (cuadro tomado de Ruan registro Yifeng):
Aquí Insertar imagen Descripción

Los usuarios pueden enviar comandos (eventos DOM) a Ver, luego por el Modelo Vista petición directa para cambiar el estado, a continuación, actualizar Vista de
los usuarios también pueden enviar comandos directamente al controlador (cambiando el evento de disparo URL hashChange), y luego se envían al controlador de vista

MVVM es una abreviatura Model-View-ViewModel. Es esencialmente una versión mejorada del MVC.

Ver (View): la interfaz de usuario.
el enlace de datos de dos vías (ViewModel): Ver obligados a ViewModel, a continuación, con el fin de realizar alguna acción que una solicitud. A su vez, la comunicación con el modelo de vista de modelo, dilo a actualizar la respuesta de la interfaz de usuario
del modelo (Modelo): operativo de datos
en modo interactivo es el siguiente:
Aquí Insertar imagen Descripción

Resumen: MVC y MVVM hecho, las diferencias no son significativas. Es un tipo de diseño. Principalmente en mvc Controller evolucionado en MVVM en modelo de vista. MVVM principalmente a resolver un gran número de manipulación del DOM MVC la degradación del rendimiento renderización de páginas, los tiempos de carga lentos, que afecta a la experiencia del usuario. VM proporciona datos bidireccionales vinculante cuando los datos en la vista del modelo y hay un cambio, el otro cambiarán a medida

La estructura de código básico 2.Vue

<!DOCTYPE html> 
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>Document</title>
      </head>
      <body>
        <!--将来new的Vue的实例会控制这个元素的所有内容-->
        <div id="app"></div>
        <script src="../../js/vue.js"></script> 
        <script>
          var vm = new Vue({
            el: "#app", //当前我们new的这个Vue实例要控制页面上的哪个区域
            data: {
              msg: "HelloWorld"   //data属性中,参访的是el中要用到的数据
            },
            methods: {
            },
          });
        </script>
      </body>
    </html>

El uso de los comandos comunes 3.Vue

1. Expresión de interpolación {} {}, los datos insertados en la página de datos, reemplazará el marcador de posición en sí, que no borra el contenido original de los elementos
2.V-capa :( mediante el establecimiento de pantalla de estilo:) Solución de ninguna interpolación expresión parpadeo
3.V-texto: (v-texto = 'de datos en el nombre del atributo ") sobrescribe el contenido original del elemento, el parpadeo
4.v-html: (v-html =' datos nombre de atributo en ') en las etiquetas HTML, se sobrescribe el contenido original de los elementos
5.V una vez: no modificar los datos. etiqueta P con v-una vez que la pantalla es sólo el valor inicial de la msg, msg no ser modificado con cambios.
6.V-bind: (v-bind : Título = " datos de nombres de atributo de 'js sintaxis legales' + ') para las propiedades de unión, abreviado como:
7.V-ON: (ON-V: Click = 'show') para los eventos de unión, abreviado como @
8.v-Model: datos bidireccionales entre un estado de aplicación y una serie de elementos unidos forman
9.v-para: instrucción de bucle, una lista basada representación una matriz o un objeto, deben cumplir con los valores clave para el uso.
10.v-si: El valor de la expresión de condición verdadera o falsa, destruir o elemento de etiqueta reconstrucción. bandera p etiqueta representación es cierto, no prestar a falso
11.v-show: La expresión de valor verdadero o falso estado, el elemento de conmutación de visualización atributo CSS. bandera será establecido en false propiedad display etiquetas p a ninguno

<div id="app">
	<p v-once>{{ msg }}</p>
	<p v-cloak>{{msg}}显示出来了</p>
    <p v-text="msg"></p>
    <p v-html="htmlmsg"></p>
    <p v-once>{{msg}}</p>  //显示msg的初始值,不会随着msg被修改而变化。
    <a v-bind:href="url"></a>
    <a :href="url"></a>  //简写
    <button v-on:click="show">BOTTON</button>
    <button :click="show">BOTTON</button> //简写
    <input v-model="name"></input> //输入值的改变,会即时在下面显示
    <p>{{ name }}</p>
    <ul>
      	<li v-for="(item,index) in myarray"> {{ item }} </li>
  	</ul>
  	<p v-if="flag">123</p>  //flag 为true 渲染<p>标签,false 不渲染
  	<p v-show="flag">123</p> //flag 为 false 将<p> 标签的 display属性设置为 none
</div>
<script>
  var vm = new Vue({
    el: "#app", 
    data: {
      msg: "HelloWorld" ,
      htmlmsg:"<p>hello world</p>",
      name:"",
      url:"www.baidu.com",
      myarray:[1,2,3],
      flag:true
    },
    methods: {
    	show(){
    		console.log(123)
    	}
    },
  });
</script>

v-si se utiliza con el resumen v-show:
v-si o no es controlado por el elemento de control de nodo presencia dom explícito e implícito; v-show es proporcionada por el estilo de visualización elemento DOM, la visualización de secuencia, ninguno oculto;
V -si un mayor consumo de conmutación; v-show mayor consumo inicial de representación;
para cambiar muy frecuentemente, preferiblemente usando v-show; si las condiciones rara vez cambian en tiempo de ejecución, con el v-si más buena.

4. El modificador de evento (.Stop / .prevent / .capture / .self / .Una vez)

<a v-on:click.stop="doThis"></a> //阻止单击事件冒泡
<form v-on:submit.prevent="onSubmit"></form> //阻止默认事件,默认提交时重载页面,使用后不会重载页面
<a v-on:click.stop.prevent="doThat"></a> //修饰符可以串联使用,并且使用的顺序很重要
<div v-on:click.capture="doThis">...</div>  //添加事件监听器时使用事件捕获模式
<div v-on:click.self="doThat">...</div> //点击自身时才会触发函数,冒泡或捕获都会略过自身
<a v-on:click.once="doThis"></a>   //点击事件将只会触发一次

5.Vue la moda estilo de encuadernación

v-bind: class: dinámicamente conmutación de clase, v-bind: instrucciones clase puede también coexistir con atributo de clase convencional

<div class="myclass" v-bind:class="{ active: isActive }"></div>

datos:

data: {
  isActive: true,
  hasError: false
}

Rendering resultados:

<div class="myclass active"></div>

v-bind: Estilo:

<div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div>
data: {
  activeColor: 'red',
  fontSize: 30
}

Rendering resultados:

<div style="color: red; font-size: 30px;"></div>
Publicado cinco artículos originales · ganado elogios 6 · vistas 67

Supongo que te gusta

Origin blog.csdn.net/qq_22841567/article/details/104723852
Recomendado
Clasificación