Vue.js学习(一)搭建与基础语法

发布于 2019-09-08  163 次阅读


  • Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。
  • Vue 只关注视图层, 采用自底向上增量开发的设计。
  • Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue的安装

Vue官网下载
我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用 <script> 标签引入。

1. Vue构造器需要的内容
<div id="app">
    <h1>site : {{site}}</h1>
    <h1>url : {{url}}</h1>
    <h1>{{details()}}</h1>
</div>
<script type="text/javascript">
    new Vue({
        el: '#app',
        data: {
            site: "StarTower",
            url: "www.cyloveszs.top",
            alexa: "666"
        },
        methods: {
            details: function() {
                return  this.site + " - 继续恰柠檬!";
            }
        }
    })
</script>

Vue 构造器中有一个el 参数,它是 DOM 元素中的 id,改动全部在以上指定id的 div 内,div 外部不受影响

2. 常见语法

数据绑定最常见的形式就是使用 {{...}}(双大括号)的文本插值:

<div id="app">
  <p>{{ message }}</p>
</div>
new Vue({
  el: '#app',
  data: {
    message: 'Hello Vue.js!'
  }
})

使用 v-html 指令用于输出 html 代码:


<div id="app"> <div v-html="message"></div> </div> <script> new Vue({ el: '#app', data: { message: '<h1>StarTower</h1>' } }) </script>

HTML 属性中的值应使用 v-bind 指令。
实例:判断 class1 的值,如果为 true 使用 class1 类的样式,否则不使用该类的样式:


<div id="app"> <label for="r1">修改颜色</label><input type="checkbox" v-model="use" id="r1"> <br><br> <div v-bind:class="{'class1': use}"> v-bind:class 指令 </div> </div> <script> new Vue({ el: '#app', data:{ use: false } }); </script>

指令是带有 v- 前缀的特殊属性。

<div id="app">
    <p v-if="seen">现在你看到我了</p>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    seen: true
  }
})
</script>

v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。

参数在指令后以冒号指明。例如, v-bind 指令被用来响应地更新 HTML 属性:

div id="app">
    <pre><a v-bind:href="url">StarTower</a></pre>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    url: 'http://www.cyloveszs.top'
  }
})
</script>

这里的href 是参数,告知 v-bind 指令将该元素的 href 属性与表达式 url 的值绑定。

v-on 指令,它用于监听 DOM 事件:

<a v-on:click="doSomething">

在 input 输入框中我们可以使用 v-model 指令来实现双向数据绑定:


<div id="app"> <p>{{ message }}</p> <input v-model="message"> </div> <script> new Vue({ el: '#app', data: { message: 'GoGoGo!' } }) </script>

v-model 指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定,根据表单上的值,自动更新绑定的元素的值。

Vue.js 允许你自定义过滤器,被用作一些常见的文本格式化。由"管道符"指示, 格式如下:

<!-- 在两个大括号中 -->
{{ message | capitalize }}

<!-- 在 v-bind 指令中 -->
<div v-bind:id="rawId | formatId"></div>

v-bind 缩写

<!-- 完整语法 -->
<a v-bind:href="url"></a>
<!-- 缩写 -->
<a :href="url"></a>

v-on 缩写

<!-- 完整语法 -->
<a v-on:click="doSomething"></a>
<!-- 缩写 -->
<a @click="doSomething"></a>

今天你恰柠檬了咩