前端不会vue,找实习太难了,现在开始学习一下vue,文章就当做学习笔记,供以后复习看看。

起步

首先安装vue.js的源码,这个直接去官网 https://cn.vuejs.org/v2/guide/安装即可,下载完之后把js代码放入项目当中引用即可,不过在实际项目中,访问js代码需要重新设置位置还要调整配置,还可能影响访问网页的时间,因此建议采用cdn访问

 https://cdn.staticfile.org/vue/2.2.2/vue.min.js

或者自己上传到码云生成链接来访问这样可以节约资源。

下载好之后开始编写第一个程序,helloworld,代码如下:

<div id="app">
    <p>
        {{msg}}
    </p>
</div>
</body>
<script>
    new Vue({
        el:'#app',
        data:{
            msg:'hello world!'
        }
    })
</script>

在代码中,用new Vue创建Vue对象,然后通过el绑定元素,data中的值覆盖整个{{}},其中el可绑定元素,可绑定class也可以绑定id,但是id和class不能是纯数字,不然无法替换。

基础指令(一)

v-cloak

用于解决网速过慢时候{{}}出现的问题,直接放在变量所在的标签即可如下

<div id="app" class="jk" >
   <p v-cloak>11{{msg}}</p>
</div>
[v-cloak]{
    display: none;
}

但这个指令不会完全替换标签内的文本上面代码中的11会被渲染出来,想要完全替换可以使用下面这个指令

v-text

可完全提换标签内的文本,使用方法如下面代码

<div id="app" class="jk" >
   <p v-text="msg">11{{msg}}</p>
</div>
</body>
<script>
    new Vue({
        el:'.jk',
        data:{
            msg:'hello world!'
        }
    })
</script>

但是v-text只是替换文本(文本中可携带变量不是变量的用‘’标识,如'今天'+date+'号',date类似{{date}},可在Vue中进行操控),如果要插入html的文本,让他以html代码形式渲染就用v-html指令

v-html

这个指令会将变量以html的标签解析后输出,和v-text一样用法如下代码

<div id="app" class="jk" >
   <p v-html="msg">fdfsfd</p>
</div>
</body>
<script>
    new Vue({
        el:'.jk',
        data:{
            msg:'<h1>hello world!</h1>'
        }
    })
</script>

v-bind

提供绑定属性的功能,绑定的属性的值会当成js代码执行,代码如下

<div id="app" class="jk" >
    <p>{{msg}}</p>
    <input type="button" value="woc" v-bind :title="mytitle +'123'">
</div>
</body>
<script>
    new Vue({
        el:'#app',
        data:{
            msg:'<h1>hello world!</h1>',
            mytitle:'wdnmd'
        }
    })

需要注意,在webstorm中,v-bind:和v-on:会报错,查询资料后可通过取消勾选xml中的文件解决,解决方法链接

v-on

这个指令绑定的是事件缩写为@,针对被绑定的事件,我们需要编写函数用于这个事件触发后的会发生什么,这时候在Vue对象中,methods方法用于声明函数的作用,具体写法如下:

<div id="app" class="jk" >
    <p>{{msg}}</p>
    <input type="button" value="woc" v-bind :title="mytitle +'123'" v-on:click="show">
</div>
</body>
<script>
    new Vue({
        el:'#app',
        data:{
            msg:'<h1>hello world!</h1>',
            mytitle:'wdnmd'
        },
        methods:{
            show: function () {
                alert('helloworld')
            }
        }
    })

下图是截取b站vue教程中老师绘制的mvvm图,用于明确前后端的流程

不会js可以学jquery吗 不会js可以学vue吗_前端