vue提升

1.vue的绑定事件v-on

<div id="app">
        {{age}}
        <input type="button" value="按钮" v-on:click="age++">
        <input type="button" value="按钮" @click="age++">

        <input type="button" value="按钮" v-on:click="add">
        <input type="button" value="按钮" @click="add">
        <input type="button" value="按钮" v-on:click="say(111)">

    </div>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                age:15
            },
            methods:{
                add(){
                    this.age++;
                },
                say(str){
                    console.log(str);
                }
            }
        })
    </script>

2.计算属性computed

<div id="app">
        {{birth}}

    </div>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                age:15,
                birthday:1529032123201
            },
           computed:{
                birth(){
                    return new Date(this.birthday).getFullYear()+"年"+
                        new Date(this.birthday).getMonth()+"月"+
                        new Date(this.birthday).getDay()+"日"
                }
           }
        })
    </script>

3.监听watch

注意:监听哪个变量,watch里面的方法名称就是哪个

<div id="app">
        <input type="text" v-model="message">
        <input type="text" v-model="msg">
    </div>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                message:"123",
                msg:"aaa"

            },
           watch:{
                message(newVal,oldVal){
                    console.log("messageNew:"+newVal);
                    console.log("messageOld:"+oldVal);
                },
                msg(newVal,oldVal){
                    console.log("msgNew:"+newVal);
                    console.log("msgOld:"+oldVal);
                }
           }
        })
    </script>

4.全局组件

<div id="app">
        <component1></component1>
        <component2></component2>
    </div>
    <script>
        Vue.component("component1",{
            template:"<h1>模板1</h1>"
        });
       var cmp = {
            template:"<h1>模板2</h1>"
        }
        Vue.component("component2",cmp);
        var app = new Vue({
            el:"#app",
            data:{
                message:"123"
            }
        })
    </script>

5.局部组件

<div id="app">
        <component1></component1>
    </div>
    <script>

        var app = new Vue({
            el:"#app",
            data:{
                message:"123"
            },
            components:{
                "component1":{
                    template:"<h1>局部组件</h1>"
                }
            }

        })
    </script>

全局组件和局部组件就和 全局变量,局部变量的关系类似

6.组件模板

注意: (1)如果要使用模板里面的数据,必须是函数的形式
(2)模板里面如果有多个标签,必须包含在一个根标签里面

 <div id="app">
        <component1></component1>
    </div>
    <template id="mytemplete">
        <div>
            <span>11111111</span>
            <form>
                {{name}}<input type="text">
            </form>
        </div>
    </template>
    <script>
        var app = new Vue({
            el:"#app",
            data:{
                message:"123"
            },
            components:{
                "component1":{
                    template:"#mytemplete",
                    data(){
                        return {name:"用户名"};
                    }
                }
            }
        })
    </script>

7.路由

注意:router-view相当于用来显示页面的占位符,必须加,不然不能显示相应的界面

 <div id="app">
        <router-link to="/">首页</router-link>
        <router-link to="/middle">中间</router-link>
        <router-link to="/right">右边</router-link>
        <router-view></router-view>
    </div>
    <script>
        var index = Vue.component("index",{
            template:"<h1>首页</h1>"
        })
        var md = Vue.component("middle",{
            template:"<h1>中间</h1>"
        })
        var rt = Vue.component("right",{
            template:"<h1>右边</h1>"
        })

        var routers = new VueRouter({
            routes:[{
                path:"/",
                component:index
            },{
                    path:"/middle",
                    component:md
                },{
                path:"/right",
                component:rt
            }]
        })
        var app = new Vue({
            el:"#app",
            data:{
                message:"123"
            },
            router:routers
        })
    </script>

8.webpack打包

定义:将许多碎小文件打包成一个整体
作用:
(1) 减少页面对于资源的请求,提高效率
(2)可以降低版本,Es6–>Es5为了兼容浏览器
(3)将代码打包的同时进行混淆,提高代码的安全性。
使用步骤:
(1)安装
npm install -g webpack
npm install -g webpack-cli
(2)创建一些代码
a.js

var a = "a模块";
var b = require('./b.js');
console.log(b);

b.js

define(function () {
    var b = "b模块";
    return b;
});

(3)运行打包的命令

webpack src/a.js -o dist/bundle.js

(4)创建一个html页面 ,引入bundle.js文件

9.把项目放到服务器

(1) 安装
npm install webpack-dev-server --save-dev
npm install webpack --save-dev
(2)在package.json中配置script

  "scripts": {
     "dev": "webpack-dev-server  --inline --progress --config ./webpack.config.js"  
  }

(3) package.json版本

 "devDependencies": {
    "css-loader": "^3.2.0",
    "style-loader": "^1.0.1",
    "webpack": "^3.10.0",
    "webpack-dev-server": "^2.9.7"
  }

(4) 在终端运行 npm run dev
(5)访问 默认端口 是 localhost:8080

10.脚手架搭建(vue3.0)

(1)npm install -g @vue/cli
(2)vue create hello-world
(3)选中 VueProject(第二个)
(4) cd hello-world
​ (yarn serve – 运行
​ yarn build – 编译(额外生成一些文件))
(5) npm run serve --运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值