vue基础:vue介绍

声明式渲染

响应式声明渲染机制

  1. Vue 是一个响应式系统。
  2. Vue.js 用模板语法声明式将数据渲染进 DOM 系统。
  3. 视图是来自状态声明映射,状态发生变化,数据自动渲染。

在这里插入图片描述

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title></title>
  <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
    <div id="app">
     <p>{{message}}</p>
    </div>
    <script>
     var myData={
      message:"hello Vue.js"
     }
         var app=new Vue({
       el:'#app',
       data:myData
      })
   </script>
 </body>
</html>

运行结果:hello Vue.js

条件与循环

v-if指令

v-if 指令可以完全根据表达式的值在DOM 中生成或移除一个元素。

 <div id="app">
     <p>{{name}}</p>
     <p>{{interesting}}</p>
     <p v-if="seen">这是个人简单信息</p>
    </div>
<script>
    var app=new Vue({
     el:"#app",
     data:{
      name:"YanHilin",
      interesting:"sport",
      seen:true
     }
    })
   </script>

在这里插入图片描述

v-for指令

通过一个对象的属性来迭代

<ul id="repeat-object" class="demo">
 <li v-for="value in object">
	 {{value }}
 </li>
</ul>

提供第二个的参数为键名

<div v-for="(value, key) in object">
 {{key }} : {{ value }}
</div>

提供第三个参数为索引

<div v-for="(value, key, index) in object">
{{ index }}. {{ key }} : {{ value }}
</div>

整数迭代

<div>
<span v-for="n in 10">
	{{ n}} 
</span>
</div>

v-for Template

如同 v-if 模板,渲染一个包含多个元素的块,使用 v-for 遍历多个标签,就需要用 。

例子

<div id="app">
  <ol >
   <li v-for="total in totals">
    {{total.text}}
   </li>
  </ol>
 </div>
<script>
  var app=new Vue({
   el:"#app",
   data:{
    totals:[
     {text:"javascript"},
     {text:"vue"},
     {text:"html5"},
     {text:"node.js"}
    ]
   }
  })
 </script>

在这里插入图片描述

处理用户输入

为了让用户和你的应用进行交互,我们可以用 v-on 指令添加一个事件监听器,通过它调用在 Vue 实例中定义的方法.

v-on指令

v-on 指令绑定一个事件监听器,v-on 指令用于绑定 HTML的单击事件用 v-on:click 缩写为 @click。

<div id="app">
   <p>{{ message }}</p>
   <button v-on:click="reverseMessage">反转消息</button>
 </div>
<script>
  var app = new Vue({
    el: '#app',
    data: {
      message: 'Hello Vue.js!'
    },
    methods: {
      reverseMessage: function () {
        this.message = this.message.split('').reverse().join('')
      }
    }
  })
 </script>

在这里插入图片描述
在这里插入图片描述

v-model指令

v-model 指令,它能轻松实现表单输入和应用状态之间的双向绑定。

v-model 指令在表单控件元素上创建双向数据绑定,根据控件类型它能够自动选取正确的方法来更新元素。

在这里插入图片描述

例子

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

在这里插入图片描述

組件化应用构建

组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。

在这里插入图片描述

组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展HTML 元素,封装可重用的代码。

在大型的应用中为了分工、代码复用、提高维护性不可避免地需要将应用抽象为多个相对独立的模块。

Vue.js 的组件使用有三个步骤,具体步骤如下:

  1. 调用Vue.extend() 方法创建组件构造器
var MyComponent = Vue.extend({ 
// 选项
}) 
  1. 调用Vue.component() 方法注册组件。
Vue.component('my-component', MyComponent) 
  1. 在Vue 实例的作用范围使用组件。
<div id="app"> 
<my-component></my-component> 
</div> 

例子:自定义组件

<div id="app">
  <my-component>   
  </my-component>
 </div>
 <script>
  var myComponent=Vue.extend({
   template:'<div>欢迎来到component</div>'
  })
  Vue.component('my-component',myComponent);
  new Vue({
   el:"#app"
  })
 </script>

在这里插入图片描述

发布了137 篇原创文章 · 获赞 26 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_40119412/article/details/104249518