由VUE2的一个实例引发的思考

简介: 来到官网,我看见了一个实例,敲了敲,也想了想。

Vue 实例

代码示例

<div id = "app">
<h1>{
   {
    msg }}</h1>
</div>

<script>
let app = new Vue({
   
    el: "#app",
    data: {
   
        msg: "Hello Vue"
    }
})
</script>

数据

data中定义数据

使用{ {}}在视图上进行输出

{ { }} 插值表达式

又叫做 mustache 语法

在 { {}} 中可以写什么

合法的 js 表达式,注意不是js语句

代码示例

/*{
   {}} 插值表达式*/
// 字符串
<h1>{
   {
    msg }}</h1>
// 数字
<h1>{
   {
    count }}</h1>
// 四则运算
<h1>{
   {
   a+b}}</h1>
// 逻辑运算 & || > < ===
<h1>{
   {
    !bol }}</h1>
<h1>{
   {
    a > b }}</h1>
// 三目运算
<h1>{
   {
    a > b ? '111' : '222'}}</h1>
// 不可以是 js 语句
<h1>{
   {
   if(bol){
   retuen 1}}}</h1>

如何定义函数

代码示例

<!DOCTYPE html>
<html lang="en">

<head>
    <title>methods</title>
</head>

<body>
    <div id="app">
        <h1>{
  {count}}</h1>
        <!-- add() rend() 函数调用也是一个表达式 -->
        <div>{
  {add()}}</div>
        <div>{
  {rend()}}</div>
    </div>
    <script>
        let app = new Vue({
    
            el: "",
            data: {
    
                count: 0
            },
            /* 自定义方法写到这个配置项里 */
            methods: {
    
                add: function () {
    
                    console.log(this)
                    console.log(app === this)
                    return this.count + 1
                },
                rend: function() {
    
                    return Math.random()*100
                }
            }
        })
    </script>
</body>

</html>
---控制台---
this 打印出来的是vue实例对象
true

简写

代码示例

methods: {
   
    add () {
   
        console.log(this)
        console.log(app === this)
        return this.count += 1
    },
    rend () {
   
        return Math.random()*100
    }
}

注意

  1. 不可以写成箭头函数形式

  2. 如果要在视图上通过插值输出,该函数要有返回值

在 Vue 2 中,需要使用 return 关键字来返回一个值,以便该值能够被模板渲染到页面上。如果在方法中没有使用 return 返回结果,页面不会自动重新渲染。

举个例子,在你的代码中,如果 add() 方法不使用 return 返回计算后的 this.count 值,页面不会反映出 count 的变化。因此,如果希望页面展示 count 的更新,可以将 add() 方法修改为:

methods: {
   
  add() {
   
    this.count += 1;
    return this.count;
  }
}

这样,在模板中调用 add() 方法时,会更新 count 的值并重新渲染页面,以显示更新后的值。

需要注意的是,Vue 2 中的方法可以返回一个值,但是返回的值通常用于其他操作,而不是直接影响页面渲染。如果你希望在方法中更新数据,并且触发页面的重新渲染,通常会使用响应式数据或计算属性来实现。例如,可以将 count 定义为响应式的数据,并在模板中使用 { { count }} 来展示它的值。这样,当 count 的值发生变化时,页面会自动更新。

目录
相关文章
|
6月前
|
JavaScript 前端开发
Vue 创建组件
Vue 创建组件
|
11月前
|
JavaScript
【Vue】—创建组件
【Vue】—创建组件
|
3月前
|
JavaScript API 开发者
另一种写 Vue 的方式
另一种写 Vue 的方式
|
4月前
|
JavaScript
|
6月前
|
JavaScript
Vue 实例详解——从这里开始
Vue 实例详解——从这里开始
|
JavaScript
07Vue - Vue实例(属性与方法)
07Vue - Vue实例(属性与方法)
38 0
|
JavaScript
08Vue - Vue实例(实例生命周期)
08Vue - Vue实例(实例生命周期)
38 0
08Vue - Vue实例(实例生命周期)
|
JavaScript 前端开发 API
vue2和vue3的区别?vue3为什么要更换?
vue2和vue3的区别?vue3为什么要更换?
|
JavaScript 前端开发 API
06Vue - Vue实例(构造器)
06Vue - Vue实例(构造器)
49 0
|
JavaScript 前端开发 小程序
【vue】初探vue,创建vue项目
前言: 如果要开发一个平台,不仅需要掌握后端技术,还需要通过前端页面进行展示,即达到美观效果,又方便我们进行操作达到很好的交互效果。 这里我接触到了vue前端框架,市面上有很多比较好用的基于vue的前端组件库,比如面向app的饿了么Mint UI,面向腾讯微信内网页和微信小程序的We UI,服务于pc界面的iView UI,面向所有层次的layUI,还有现在即将要学习的饿了么推出的Element UI,主要用于浏览器界面展示的框架;