初始 vue

旧街凉风 提交于 2019-12-04 06:20:15

1、js,jQuery编程范式:命令式编程

 vue编程范式:声明式编程

 v-for   遍历数组内容

 v-on: click   监听点击事件,语法糖 @click

  • el:

  类型:string | HTMLElement

  作用:决定之后 Vue 实例会管理哪一个 DOM。

  • data:

  类型:Object | Function(组件当中data必须是一个函数)

  作用:Vue实例对应的数据对象

  • methods

  类型:{ [ key : string ]:Function }

  作用:定义属于Vue的一些方法,可以在其他地方调用,也可以在指令中使用。

   <div id="app">
      <h2>当前数量:{{ val }}</h2>
      <ul>
        <li v-for="val in project">{{ val }}</li>
      </ul>
      <button v-on:click="add">+</button>
      <button @click="down">-</button>
    </div>
    <script>
      const app = new Vue({
        el: "div",  // 用于挂载要管理的元素
        data: {     // 定义数据
          val: 0,
          project: ["数学", "语文", "英语"]
        },
        methods: {  //定义方法
          add: function() {
            this.val++;
            console.log("add被点击了");
          },
          down: function() {
            this.val--;
            console.log("down被点击了");
          }
        }
      });
    </script>

2、vue中的MVVM:

 

 

 3、开发中什么时候称为函数,什么时候称为方法?

  函数:function

   直接在script 标签中定义的 function fn(){}

  方法:method

   在类里面的东西一般叫方法,方法一般是和实例对象挂钩的

4、Vue 的指令

 1.mustache语法(双大括号{{ }})

<h2>{{message}}</h2>
<h2>{{message}},自定义内容</h2>
<!--mustache语法中,不仅仅可以直接写变量,也可以写简单的表达式-->
<h2>{{firstName+ lastName}}</h2>  // 连接两个变量
<h2>{{firstName+ ' ' + lastName}}</h2> // 连接两个变量,中间加空格
<h2>{{firstName}} {{lastName}}</h2> //连接两个变量,中间含空格
<h2>{{num * 2}}</h2>  //计算变量
<h2>{{message}}</h2>

 2. v-once:阻止界面内容随意更改

  该指令后面不需要跟任何表达式

  该指令表示元素和组件只渲染一次,不会随数据的改变而改变。

<h2>{{mes}}</div>
<h2 v-once>{{mes}}</div>  //consolle控制台中更改mes的值,加了v-once中的内容不会被更改  

 3. v-html:解决从服务器请求的数据本身是 HTML 代码的问题

  该指令后面往往会跟上一个 string 类型

  会将 string 的html 解析出来并进行渲染

1.如果直接通过{{}}来输出,会将HTML代码一起输入
<h2>{{url}}</h2> // <a href='http://www.baidu.com'>百度链接</a>

2.如果想按照HTML格式进行解析,并且显示对应内容 则在标签中加入 v-html 指令
<h2 v-html='url'>{{url}}</h2>  // 百度链接

url: "<a href='http://www.baidu.com'>百度链接</a>",

 4.v-text:和{{ }}(Mustache)相似,都是用于将数据显示在界面中

  v-text通常情况下,接受一个string类型,不灵活,会覆盖原有的值,不建议使用

<h2>{{message}},自定义值...</h2>  // 新插入数值,自定义值...
<h2  v-text='message'>自定义值...</h2>  // 新插入数值(会覆盖原有的值)
message:'新插入数值'

 5. v-pre:用于显示原本的 Mustache 语法(类似于html标签pre)

<h2>{{message}}</h2>  // andy
<h2 v-pre>{{message}}</h2>  //{{message}}
message:'andy'

 6.v-cloak:浏览器会直接显示出未编译的Mustache标签,(类似于斗篷)。

  在data 数据没解析之前显示出来,data数据解析之后删除掉

<style>
    div{
        display:none;
    } 
</style>
<div id="app">{{message}}</div>  //如果函数加载慢,页面中直接显示{{message}},用户体验不太好,可以使用v-cloak属性设置,没加载出来时显示v-cloak属性,函数加载出来后删除v-cloak属性。
<script>
    const  app = new Vue({
        el:'#app',
        data:{
            message:'自定义...'
        }
    });
</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!