Vue.js

Vue.js 谢支星
文章标签: Vue.js

Vue.js 是什么

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

如果你想在深入学习 Vue 之前对它有更多了解,我们制作了一个视频,带您了解其核心概念和一个示例工程。

如果你已经是有经验的前端开发者,想知道 Vue 与其它库/框架有哪些区别,请查看对比其它框架

兼容性

Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器

直接用 <script> 引入

直接下载并用 <script> 标签引入,Vue 会被注册为一个全局变量

CDN

我们推荐链接到一个你可以手动更新的指定版本号

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js"></script>

你可以在 cdn.jsdelivr.net/npm/vue 浏览 NPM 包的源代码。

Vue 也可以在 unpkg 和 cdnjs 上获取 (cdnjs 的版本更新可能略滞后)。

请确认了解不同构建版本并在你发布的站点中使用生产环境版本,把 vue.js 换成vue.min.js。这是一个更小的构建,可以带来比开发环境下更快的速度体验。


声明式渲染

Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统

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

我们已经成功创建了第一个 Vue 应用!看起来这跟渲染一个字符串模板非常类似,但是 Vue 在背后做了大量工作。现在数据和 DOM 已经被建立了关联,所有东西都是响应式的。我们要怎么确认呢?打开你的浏览器的 JavaScript 控制台 (就在这个页面打开),并修改app.message 的值,你将看到上例相应地更新。

v-for 根据条件多次渲染

<div id="app5">
        <ol>
            <li v-for="todo in todos">
                {{todo.text}}
            </li>
        </ol>
    </div>

 var app5=new Vue({
        el:'#app5',
        data:{
            todos:[
                {text:'学习 JavaScript'},
                {text:'学习 Vue'},
                {text:'整个牛项目'}
            ]
        }
    })

v-model 双向绑定数据

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

v-bind指令

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

v-for 根据条件多次渲染

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

注意在 reverseMessage 方法中,我们更新了应用的状态,但没有触碰 DOM——所有的 DOM 操作都由 Vue 来处理,你编写的代码只需要关注逻辑层面即可。

还能输出{{restrictNumber}}个字符  
  • {{reply.author}}

    {{CommonUtil.formateDate(reply.ac_CommentDate).shortTime}}
  • 回复了{{Comments.author}} :