首頁 > web前端 > Vue.js > vue.js核心最基本的功能是什麼

vue.js核心最基本的功能是什麼

王林
發布: 2021-10-08 14:56:39
原創
3229 人瀏覽過

vue.js核心最基本的功能是一個允許採用簡潔的模板語法來聲明式地將資料渲染進DOM的系統。 vue.js的核心功能使得我們可以很方便地控制切換一個元素是否顯示。

vue.js核心最基本的功能是什麼

本文操作環境:windows10系統、vue 2.5.2、thinkpad t480電腦。

 Vue.js的核心是一個允許採用簡潔的模板語法來宣告式地將資料渲染進 DOM 的系統。

下面讓我們來詳細看。

<div id="app">
  {{ message }}
</div>
登入後複製
var app = new Vue({
  el: &#39;#app&#39;,
  data: {
    message: &#39;Hello Vue!&#39;
  }
})
登入後複製

除了文字插值,我們還可以像這樣來綁定元素特性:

<div id="app-2">
  <span v-bind:title="message">
    鼠标悬停几秒钟查看此处动态绑定的提示信息!
  </span>
</div>
登入後複製
var app2 = new Vue({
  el: &#39;#app-2&#39;,
  data: {
    message: &#39;页面加载于 &#39; + new Date().toLocaleString()
  }
})
登入後複製

控制切換一個元素是否顯示也相當簡單:

<div id="app-3">
  <p v-if="seen">现在你看到我了</p>
</div>
登入後複製
var app3 = new Vue({
  el: &#39;#app-3&#39;,
  data: {
    seen: true
  }
})
登入後複製

還有其它很多指令,每個都有特殊的功能。例如,v-for 指令可以綁定數組的資料來渲染一個項目列表:

<div id="app-4">
  <ol>
    <li v-for="todo in todos">
      {{ todo.text }}
    </li>
  </ol>
</div>
登入後複製
var app4 = new Vue({
  el: &#39;#app-4&#39;,
  data: {
    todos: [
      { text: &#39;学习 JavaScript&#39; },
      { text: &#39;学习 Vue&#39; },
      { text: &#39;整个牛项目&#39; }
    ]
  }
})
登入後複製

為了讓用戶和你的應用程式進行交互,我們可以用 v-on 指令添加一個事件監聽器,透過它呼叫在Vue 實例中定義的方法: 

<div id="app-5">
  <p>{{ message }}</p>
  <button v-on:click="reverseMessage">逆转消息</button>
</div>
登入後複製
var app5 = new Vue({
  el: &#39;#app-5&#39;,
  data: {
    message: &#39;Hello Vue.js!&#39;
  },
  methods: {
    reverseMessage: function () {
      this.message = this.message.split(&#39;&#39;).reverse().join(&#39;&#39;)
    }
  }
})
登入後複製

Vue 也提供了 v-model 指令,它能輕鬆實現表單輸入和應用狀態之間的雙向綁定。

<div id="app-6">
  <p>{{ message }}</p>
  <input v-model="message">
</div>
登入後複製
var app6 = new Vue({
  el: &#39;#app-6&#39;,
  data: {
    message: &#39;Hello Vue!&#39;
  }
})
登入後複製

元件系統是 Vue 的另一個重要概念,因為它是一種抽象,允許我們使用小型、獨立且通常可重複使用的元件來建立大型應用。仔細想想,幾乎任意型別的應用介面都可以抽象化成一個元件樹: 

vue.js核心最基本的功能是什麼

在Vue 裡,一個元件本質上就是擁有預先定義選項的一個Vue實例。在Vue 中註冊元件很簡單:

// 定义名为 todo-item 的新组件
Vue.component(&#39;todo-item&#39;, {
  template: &#39;<li>这是个待办项</li>&#39;
})
登入後複製

現在你可以用它建立另一個元件模板:

<ol>
  <!-- 创建一个 todo-item 组件的实例 -->
  <todo-item></todo-item>
</ol>
登入後複製

但是這樣會為每個待辦事項渲染同樣的文本,這看起來並不酷。我們應該能從父作用域將資料傳到子元件才對。讓我們來修改一下元件的定義,使之能夠接受一個 prop:

Vue.component(&#39;todo-item&#39;, {
 // todo-item 组件现在接受一个
 // "prop",类似于一个自定义特性。
 // 这个 prop 名为 todo。
 props: [&#39;todo&#39;],
 template: &#39;<li>{{ todo.text }}</li>&#39;
})
登入後複製

現在,我們可以使用 v-bind 指令將待辦項目傳到循環輸出的每個元件中:

<div id="app-7">
  <ol>
    <!--
      现在我们为每个 todo-item 提供 todo 对象
      todo 对象是变量,即其内容可以是动态的。
      我们也需要为每个组件提供一个“key”,稍后再
      作详细解释。
    -->
    <todo-item v-for="item in groceryList" v-bind:todo="item" ></todo-item>
  </ol>
</div>
登入後複製
Vue.component(&#39;todo-item&#39;, {
  props: [&#39;todo&#39;],
  template: &#39;<li>{{ todo.text }}</li>&#39;
})

var app7 = new Vue({
  el: &#39;#app-7&#39;,
  data: {
    groceryList: [
      { id: 0, text: &#39;蔬菜&#39; },
      { id: 1, text: &#39;奶酪&#39; },
      { id: 2, text: &#39;随便其它什么人吃的东西&#39; }
    ]
  }
})
登入後複製

vue.js核心最基本的功能是什麼

學習推薦:php訓練

以上是vue.js核心最基本的功能是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板