Primeros pasos con los conceptos básicos de vue.js

1. Comprender los puntos de conocimiento:

¿Qué es el front-end y el back-end?

Front-end: pantalla de datos

Back-end: procesamiento de datos

¿De dónde vienen las dependencias?

gestión de npm

El servidor npm se descarga muy lentamente en países extranjeros

Espejo de Taobao: npm i -g cnpm --registry=https://registry.npm.taobao.org

jquery:

1.cd a la carpeta que quieras descargar

2. Inicializar npm init -y

3. Descargue la instalación de npm -- guarde jquery

4. Modificar la versión descargada

4-1 Especifique la versión directamente al descargar npm install --save jquery@version number

4-2 Puede modificar el archivo package.json del proyecto y usar npm install en el proyecto para volver a descargar

¿Qué es un marco?

Bloques de código no relacionados con el negocio

Negocio: es la función del proyecto

Marco pros y contras

Simplificar la complejidad del proyecto y aumentar el valor del proyecto

Contras: Tienes que aprender un nuevo conjunto de gramática

¿Qué son los atributos html?

Concepto: ampliar la función de las etiquetas html
Sintaxis: los atributos se escriben en la etiqueta de apertura del atributo html = "valor del atributo" Varios atributos están separados por espacios

2. Conocer los puntos de conocimiento:

vista:

Concepto: vue.js es el marco MVVM de front-end más convencional (más fácil de mostrar datos)

3. Puntos de conocimiento para recordar:

¿Qué es MVVM?

M Modelo modelo ----- "datos

V View view-----"La interfaz que los usuarios pueden ver

Vm ViewModel modelo de vista ----- "los datos y la visualización están separados y el puente entre la vista y el modelo se utiliza para asociar

¿Qué es { {}}?

{ {}} sintaxis de plantilla/expresión de doble llave/método de asignación de doble llave
{ { expresión }} expresión —” la fórmula que puede obtener el resultado a través del cálculo

Categorías de representación:

1. El núcleo de vue es usar una sintaxis de plantilla simple y concisa para mostrar datos de forma declarativa.
2. Native js: renderizado imperativo Necesitamos ordenar nuestro programa cómo debe ir paso a paso
3. Vue framework: renderizado declarativo Solo necesitamos decirle al programa lo que quiere hacer y lo hará solo

instrucción

1. Concepto de instrucción : es el atributo especial html con el prefijo v-
2. ¿Cuál es la función de la instrucción? : Extienda la función de las etiquetas html en vue
3. Sintaxis de instrucciones : escriba en la etiqueta de apertura de html y v-instruction = "valor de instrucción" Varias instrucciones están separadas por espacios

4. La instrucción del modelo v se da cuenta del principio del enlace bidireccional : el enlace bidireccional se realiza a través del secuestro de datos y el modo editor-suscriptor

Secuestro de datos : interceptación de datos La interceptación de datos significa que la capa de máquina virtual siempre monitoreará los datos en el modelo de escucha y la vista. Cuando uno de ellos cambia, la capa de máquina virtual recibirá una notificación (cómo la máquina virtual recibe la notificación a través del objeto de secuestro de datos). defineProperty( ) Puede interceptar los datos del objeto enlazado y luego leerlos y modificarlos a través de los métodos getter y setter);

Editor-suscriptor : Es una relación de uno a muchos;

área de código:

hola n° 1

<!DOCTYPE html>
<html lang= "en" >
<head>
<meta charset="UTF-8">
<meta http-equiv= "X-UA-Compatible" content=" IE=edge">
<meta name= "viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<!-- 1.创建v层-->
<div id="demoDiv">
{
    
    {
    
    text}}
</div>
</body>
</html>
//这里是下载vue依赖包引入vue.js包
<script src=”node modules/vue/dist/vue .min.js"></script>
<script>
// 2.创建vm层就是new出来的实例
new Vue({
    
    
//m层
data:{
    
    
text:'么么哒'
};
el : " #demoDiv'
})
/script>

no.2 Gramática

<! DOCTYPE htm1>
<html lang= "en">
<head>
<meta charset="UTF-8">
<meta http- equiv="X- UA-Compatible" content=" IE=edge" >
<meta name= "vi ewport" content= "width=device-width, initial-scale=1.0">
<title>Document</title>
/head>
<body>
<!-- 1.创建v层- - >
<div id="demoDiv">
<h1>{
    
    {
    
    arr[2]}}</h1>
<h1>{
    
    {
    
    age+15}}</h1>
<h1> {
    
     {
    
    we . uesra}}</h1>
<h1> {
    
    {
    
    we . uesrb}}</h1>
</div>
/body>
</html>
<script src="./node_ modules/vue/dist/vue .min. js"></script>
<script>
//2.创建vm层就是实例层
new Vue({
    
    
data:{
    
    
name: Zz,
age:18,
we:{
    
    
uesra:' 1212'
uesrb: '33 '
},
arr:[1111 ,222222 ,333333344444 ]
},
el:' #demoDiv'
})
</script>

Comando no.3v-mostrar

Rol : controlar la visualización y ocultación de elementos
Use css display para configurar css
true display false hide

<!DOCTYPE html>
<html lang= "en">
<head>
<meta charset="UTF- 8">
<meta http-equiv="X-UA-Compatible" content=IE=edge" >
<meta name= "vi ewport" content="width=device - width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id=" demoDiv">
<h1>V- show</h1>
<h1 v- show=” bool' >看我显示隐藏</h1>
</div>
</body>
</html> 
<script src=" node_ modules/vue/dist/vue .min. js"></script>
<script>
new Vue({
    
    
data:{
    
    
bool:false
el: ' #demoDiv '
})
</script>

instrucción modelo no.4v

1. Se utiliza para la vinculación bidireccional de datos en elementos de formulario ; 2. v-model realiza la vinculación bidireccional entre la vista y el modelo; 3. v-model solo puede realizar la vinculación bidireccional en los formularios; 4. Modelo El los datos están vinculados a la vista 5. Cuando los datos de la vista cambian, los datos del modelo también cambian;



<! DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF - 8"> 
<meta http equiv="X-UA- Compatible" content=" IE=edge">
<meta name="viewport" content= "width=device -width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id=" demoDiv">
<input type="text" v- model=' text1'>
<h1>v - model</h1>
<p><h1>{
    
    {
    
    text1}}</h1></p>
</div>
body>
/html>
<script src="node_ modules/vue/dist/vue, min. js"></script>
<script>
new Vue({
    
    
data:{
    
    
text1:'么么哒'
},
el:' #demoDiv'
})
</script >

no.5v-show \v-model pequeño ejercicio

<!DOCTYPE html>
<html lang= "en">
<head>
<meta charset="UTF-8">
<meta http- equiv="X-UA-Compatible" content=IE=edge">
<meta name= "viewport" content="width=device-width, initial-scale=1.0">
<title>Document< /title>
</head>
<body>
<div id="demoDiv">
<input type=" checkbox" v - model=”bool '><p v- show= ' bool'>{
    
    {boo1?'有我: '没我'}}</p>
<p>{
    
    {
    
    boo1}}</p>
<h1 v- show= ' bool '>显示隐藏</h1>
</div>
</body>
</html>
<script src=" . /node_ modules/vue/dist/vue .min. js"></script> 4
<script>
new Vue({
    
    
data:{
    
    
bool:false
},
el: ' #demoDiv '
})
</script>

n.º 6 v-on instrucción

Es la instrucción para vincular eventos en vue (los eventos no se pueden usar directamente en vue y deben modificarse con v-on para usarlos)

<!DOCTYPE htm1>
<html lang= "en">
<head>
<meta charset="UTF-8">
<meta http- equiv="X-UA- Compatible" content="IE=edge">
<meta name= "vi ewport" content= "width=device-width, initial-scale=1.0">
<title>Document</title>
:/head>
<body>
<div id="demoDiv">
<h1>v-on</h1>
<button v- on :click=' fun()'>点击我打印</button)
<button @click=fun()>点击我打印</button
</div>
</body>
</html>
<script src=" ./node modules/vue/dist/vue .min. js"></script>
<script>
new Vue({
    
    
   data:{
    
    
    },
el: ' #demoDiv '
//函数要写在data,与e1同级位置,并用methods表达
methods: {
    
    
fun(){
    
    
console. log('你好' )
})
</script >

no.7 v-show\v-on\ v-model pequeños ejercicios

<!DOCTYPE html>
<html lang= "en" >
<head>
kmeta charset="UTF-8"> 
<meta http- equiv="X-UA- Compatible" content=" IE=edge" >
<meta name= "viewport" content="width=device - width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="demoDiv">
<h1 @click=' fun()'>{
    
    {
    
    tex}}</h1>
<input type= "text" v-model= ' tex' v- show='bool'>{
    
    {
    
    bool?'有我:‘没我' }}
<p>{
    
    {
    
    tex}}</p>
:/div>
</body>
</html>
<script src="node modules/vue/dist/vue .min.js"></script>
<script>
new Vue( {
    
    
data:{
    
    
bool:true,
tex:'么么哒'
}
el: ' #demoDiv',
methods: {
    
    
fun(){
    
    
this . bool=! this. bool
this.tex='么么哒'
})
/script>

no.8v-para instrucción

Facilite los datos y muestre los datos de la página
Sintaxis :
v-for=" (v,i) en los datos que desea facilitar"
v es el valor conveniente
i es el subíndice conveniente

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./node_modules/vue/dist/vue.js"></script>
</head>
<body>

    <div id="demoDiv">
        <h1>v-for</h1>
        <ul>
            <li v-for="(item,index) in arr">{
    
    {
    
    item}}------{
    
    {
    
    index}}</li>
        </ul>
     
    </div>
    <script>
        new Vue({
    
    
            data:{
    
    
              arr:["VN","EZ","NOC","MF"]
            },
            el:"#demoDiv"
        })
    </script>
</body>
</html>

Facilite datos complejos

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./node_modules/vue/dist/vue.js"></script>
</head>
<body>

    <div id="demoDiv">
        <h1>v-for</h1>
        <ul>
            <li v-for="(item,index) in arr">{
    
    {
    
    item}}------{
    
    {
    
    index}}</li>
        </ul>
        <table border="1">

            <tr v-for="(v,i) in obj">
                <td>{
    
    {
    
    v.name}}</td>
                <td>{
    
    {
    
    v.age}}</td>
            </tr>

        </table>
    </div>
    <script>
        new Vue({
    
    
            data:{
    
    
              arr:["VN","EZ","NOC","MF"],
              obj:[
                  {
    
    name:"xixi1",age:181},
                  {
    
    name:"xixi2",age:182},
                  {
    
    name:"xixi3",age:183},
                  {
    
    name:"xixi4",age:184},
                  {
    
    name:"xixi5",age:185}
              ]
            },
            el:"#demoDiv"
        })
    </script>
</body>
</html>

no.9v-bind es el más fácil de olvidar para los principiantes

Vincular variables a atributos de etiquetas html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./node_modules/vue/dist/vue.js"></script>
</head>
<body>

    <div id="demoDiv">
        <h1>v-bind</h1>
        <a v-bind:href="ahref">{
    
    {
    
    atext}}</a>
        <!-- 简写 -->
        <a :href="ahref">{
    
    {
    
    atext}}</a>
    </div>
    <script>
        new Vue({
    
    
            data:{
    
    
                atext:"点我去百度",
                ahref:"http://www.baidu.com"
            },
            el:"#demoDiv"
        })
    </script>
</body>
</html>

no.10 ejercicios completos

<!DOCTYPE html>
<html lang= "en">
<head>
<meta charset="UTF-8" >
meta http-equiv= "X-UA- Compatible" content=" IE=edge">
kmeta
name="viewport" content= "width=device-width, initial-scale=1.0">
<title> Document</title>
<style>
.red{
    
    
background-color: [ 1 red ;
</sty1e>
</head>
<div id=" demoDiv">
<h2>计算总价</h2>
<ul>
<li v-bind:class="v. style?'red':"" v-for="(v,i) in arr" @click=fun(i)>{
    
    {
    
    v.tit1e}--f{
    
    v .num}}</li>
</ul >
kp>总价({
    
    Number}}</p>
/div>
</body>
</html>
<script src=" ./node_ modules/vue/dist/vue .min. js"></script>
<script>
new Vue({
    
    
data:{
    
    
Number:0,
arr:[
{
    
    title: '苹果”,num:5, style:false},
{
    
    title: '石榴”,num:8, style:false};
{
    
    title: '香蕉”,num:3, style:false},
{
    
    title:”香梨' ,num:4, style:false},
{
    
    title: '板栗”,num:10, style:false}
e1: ' #demoDiv',
methods:
fun(i){
    
    
console. log(i);
this arr[i]. sty1e=!this arr[i]. style
if(this.arr[i].style){
    
    
this . Number+=this .arr[i] .num 
}else{
    
    
this . Number--this . arr[i] . num
})
</scmipt>

Supongo que te gusta

Origin blog.csdn.net/wen15191038073/article/details/120508736
Recomendado
Clasificación