javaee之vue

问题1:什么是vue

 在node基础之上,涌现出来的一批前端框架

 我们主要是在文件中引入vue.js文件,也可以引入网络上的vue.js文件

把 vue模块安装到项目目录下面 

这里说一下安装某个指定版本的vue

上面引入的是一个3.0版本的包,我们重新换一个2.0版本的  

引入vue.js的脚本文件

问题2:双向绑定问题

 

 

 问题3:关于在vue里面添加一个methods属性的问题

 问题4:Vue的生命周期与相关的钩子函数

 

 

 问题5:v-model的使用

 

 也就是说,你要提供可供输入的一些表单选项框,不能输入怎么交互

 在Chrome中安装一个插件,方便我们看我们vue实例

这个 扩展工具如果加载不上来,就重启一下浏览器

 

 问题6:v-on的基本使用

 这是一个事件指令

 主要是说一下事件修饰符

 

问题7:关于组件的使用 

先来说一个组件命名的一个规则

如果采用小驼峰的方式命名一个组件

那么在使用的时候,就需要采用-(分隔开每一个单词作为组件引入)

 

使用组件,小驼峰的名字要隔开

 下面我们说一下子类组件引用父类属性

下面说一下复杂数据类型的接收

 

父类中定义了一个lessons这个数据属性

 通过v-bind绑定到了当前的父组件当中,引入了一个父类属性也就是items这个属性

 问题8:子组件向父组件的通信

 

子类组件想要直接修改父类的data数据是不可以的,我们可以为两者建立一个联系

比如在父类中引入相关的方法去修改父类中的data数据

在子类组件里面我们就可以去调用父类的这两个方法

 

 

 大致思想是这样:

子组件要改变父组件的data数据,不能直接改变,也就是prop引入了之后,你直接载入这个属性是改变不了的。我们必须在父组件提供函数去操作里面的data属性。

也就是父组件做了函数操作。

然后在子组件参数上用@名字随意="事件也可以理解为一个函数,父类做的函数"

那么在子类组件里面,我们要去触发父类的两个函数,直接return this.$emit("plus"),也就是通过属性名就可以去调用父类的方法

这里上一下完整代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="node_modules/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
    <h2>num={
   
   {num}}</h2>
    <!--做两个事件引用-->
    <counter @plus="numPlus" @reduce="numReduce" :snum="num"></counter>
</div>
<script>
    //定义组件
    const counter = {
      //有一个问题要注意就是在template里面不能放置多个根元素
      //比如两个button如果不放到一个div里面是不可以的
      template : `
        <div>
            <button @click="incrNum">+</button>
            <button @click="decrNum">-</button>
        </div>
      `,
      props:["snum"],
      methods:{
          //触发父类模板的方法
          incrNum(){
              return this.$emit("plus");
          },
          decrNum(){
              return this.$emit("reduce");
          }
      }
    };

    //注册全局组件
    Vue.component("counter",counter);

    var app= new Vue({
        el:"#app",
        data:{
            num:0
        },
        methods:{
            //父组件定义操作num的方法
            numPlus(){
              this.num++;
            },
            numReduce(){
                this.num--;
            }
        }
    });
</script>
</body>
</html>

问题9:axios方法示例

 用于ajax的请求

问题10:再说webpack这个工具

从npm安装的包里面导入jquery模块,但是会遇到一个问题,就是浏览器 不认识import这个语法支持

之前我在这里是做了一个全局安装

也可以指定版本本地安装

 当我们用webpack进行打包的时候,它是需要去找一个入口点的,这个入口点就在./src/index.js这个文件上面,所以这个文件名字与位置必须准确

 可以去更改打包入口文件位置,与打包输出文件位置

 问题11:webpack插件的问题

查看webpack各个软件安装版本

出现一个问题

问题解决在于重新安装webpack脚手架 

 

 这款插件就会持续监听代码的变化

停掉直接ctrl+c两次

问题12:vue-route简介和安装

使用路由可以动态实现单页面动态路由功能

也就是页面切换

安装vue-router报错问题

先来说一下component标签的作用

作用

路由的核心如下

 这里涉及到vue-router里面提供的<router-link>与<router-view>的使用

 

 

完整路由内容参考 my-router项目

遇到的问题

 定义好了VueRouter对象,但是提示not defined

问题13:vue-cli脚手架

 一个解决webpack安装各种插件与加载器的工具,webpack相对来说,有时候比较麻烦,文件打包改动配置文件,代码改动需要去监控部署插件,打包css需要加载器等等

先去安装这个脚手架

 

 

解决方案

关于通过子组件调用去改变父组件属性的问题

 

上面有个红色部分说的还是有错误,就是在counter这个组件里面, 里面添加的事件方法是numPlus与numReduce这两个方法,这两个方法是父类组件的方法。

 再来看一下父的vue组件

就是要去改变data里面的num这个变量

下面我们看一下子的vue组件

猜你喜欢

转载自blog.csdn.net/Pxx520Tangtian/article/details/129190422