Vue学习笔记-day01

Vue学习笔记-day01

Vue笔记

  • vue官网:cn.vuejs.org

day01

1.(掌握)vue安装和初步体验vue

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
/*
    // 需要编译器
    new Vue({
   
    template: '<div>{
   { hi }}</div>'
    })

    // 不需要编译器
    new Vue({
   
    render (h) {
   
        return h('div', this.hi)
    }
    })

*/
ES6中: let (定义变量) / const(定义常量)

<div id="app">
    <button @click="add()">添加</button>
    插值表达式: {
   {
   num}}
    双向绑定:v-model
    <input type="text" v-model="msg"/>
</div>

new Vue({
   
    el:"#app",
    data:{
   
        num:0  ,
        msg:"hello vue"
    },
    methods:{
   
        add(){
   
            this.num ++;
        }
    }
});

vue 渲染式框架,数据和视图进行分离.MVVM模式

<!-- vue体验:计数器-->
<body>
		<div id="app">
			
			<input type="text" v-model="msg"/>
			{
  {msg}}
			<br/><hr color="red"/>
			
			当前技术:{
  {num}}
			<button @click="add()">+</button>
			
			<button @click="subtraction()">-</button>
		
		</div>
		<script> new Vue({
     el:"#app", data:{
     msg:"hello vue" ,num:0 }, methods:{
     add(){
     this.num++; }, subtraction(){
     this.num--; } } }) </script>
	</body>

2.(理解)vue的options选项

参考官方API文档:https://cn.vuejs.org/v2/api/#el

<body>
		<div id="app">
			
			<input type="text" v-model="msg"/>
			{
  {msg}}
			<br/><hr color="red"/>
			
			当前技术:{
  {num}}
			<button @click="add()">+</button>
			
			<button @click="subtraction()">-</button>
		
		</div>
		<script> new Vue({
     el:"#app", data:{
     msg:"hello vue" ,num:0 }, methods:{
     add(){
     this.num++; }, subtraction(){
     this.num--; } } }) </script>
	</body>

eldatamethods 表示vue的options。其他的选项参考官方api学习文档

3.(了解)vue生命周期

Vue学习笔记-day01

生命周期:created 页面加载的时候调用,但是没有渲染DOM节点.mounted 页面加载的时候调用。这个时候DOM已经渲染完了。

4.(掌握)Vue-指令

4.1 插值表达式

mustache语法就是双大括号{
{msg}}
,即插值语法;插值表达式里面做一些简单的运算.复杂的运算使用computed计算属性.

<body>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
		<div id="app">
			 {
  {age>18?"成年":"未成年"}}
			 <hr color="red"/>
			 {
  {msg.split("-")}}	
		</div>
		<script> new Vue({
     el:"#app", data:{
     age:23, msg:"hello-vue" }, methods:{
     } }) </script>
	</body>

效果:

Vue学习笔记-day01

需要注意:在插值表达式中不能写js语句。比如{
{var a = 10 }}

4.2 v-once指令

只渲染元素和组件一次;不需要表达式, 直接将指令写在开始标签中即可

<body>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
		<div id="app">
			<button @click="change()">改变msg内容</button>
			{
  {msg}}
			<hr color="red"/>
			<p v-once>{
  {msg}}</p>
		
		</div>
		<script> new Vue({
     el:"#app", data:{
     msg:"hello-vue", num:1 }, methods:{
     change(){
     this.num++; this.msg="hello-vue 的v-once指令"+(this.num); } } }) </script>
	</body>

效果:

Vue学习笔记-day01

4.3 v-html 和v-text指令

渲染文本里面的内容。但是需要注意v-html可以渲染内容里面的js代码,容易造成XSS脚本共计.


<div id="app">
    {
  {url}}
    <hr/>
    <h1 v-html="url"></h1>
</div>

<script> new Vue({
     el:"#app", data:{
     url:"<a href='http://www.baidu.com'>百度</a>" } }) </script>

4.4 v-pre指令

v-pre用于跳过这个元素和它子元素的编译过程,用于显示原本的Mustache语法。跳过大量没有指令的节点会加快编译。

<span v-pre>{
  { this will not be compiled }}</span>

就会直接显示{
{this whill not be compiled}}

4.5 v-cloak

防止{
{}}进行解析闪动。cloak 中文意思表示斗篷.

<style> [v-cloak] {
     display: none; } </style>

<div v-cloak>
  {
  { message }}
</div>

4.6 v-bind 指令*****

v-bind 绑定标签的属性。是标签的属性。可以是绑定 classstyle 等都可以;

v-bind 可以简写为冒号”:”

1 .绑定基本属性
<div id="app">
	<img :src="url" />    
</div>

<script> new Vue({
     el:"#app", data:{
     url:"http://192.168.0.150/fasfasdfafsd.png" } }) </script>
2.绑定class对象语法
  • 对象语法

:class=“{类名:布尔值}” ,有布尔值觉得是否绑定类名.布尔值的数据来源data。

所谓对象语法就是说 :class=“{}”,在json中使用{}表示对象的。

<style> .ative{
     color:red; } </style>
<div id="app">
<p :class="{active:isactive}">
    hello vue
    </p>
    
</div>
<script> new Vue({
     el:"#app", data:{
     isactive:true } }) </script>
3.绑定style

绑定style的对象语法:

:style = “{key(属性名,样式的名字):value(属性值)”

 <div id="app">
        <div v-bind:style="{
      color: redColor, fontSize: font18}">
            文本内容
        </div>
    </div>
    <script src="./vue.js"></script>
    <script> var vm = new Vue({
     el: '#app', data: {
     redColor: 'red', font18: '18px' } }); </script>

xxxx

color 这里没有加单引号, value的值使用单引号。

在vue中key可以不用加单引号,但是value如果不加单引号,vue会把他当着是一个变量来处理.如果加上单引号转成样式的时候是没有单引号的。

.titil{

font-size:50px,

color:red;

}

4.7 v-for指令[循环指令]

循环指令.

  • 遍历数组.
<div id="app">
    <ul>
        <li v-for="(item,index) in boos">
        	{
  {index}}------{
  {item}}
        </li>
    </ul>
</div>
<script> new Vue({
     el:"#app", data:{
     boos:["Java","C#","python"] } }) </script>
  • 遍历对象。
<div id="app">
    
    
</div>
<script> new Vue({
     el:"#app", data:{
     } }) </script>

5.(掌握)计算属性

计算属性:computed,计算属性作为vue实例选项options之一。

<div id="app">
    <h2>
        {
  {fullName}}
    </h2>
</div>
<style> new Vue({
     el:'#app', data:{
     firstName:"hello", lastName:'vuejs' }, computed:{
     fullName(){
     return this.firstName+' '+this.lastName; } } }) </style>


  • 插值表达式里面还可以写方法
<div id='app'>
    {
   {getFullName()}}
</div>

<script> new Vue({
      el:"#app", methods:{
      getFullName(){
      return "hello"+" "+"vuejs"; } } }) </script>
  • 计算属性里面的方法必须要有返回值
<div id='app'>
    
</div>
<script> new Vue({
     el:'#app', }) </script>
  • ES6语法之循环
<div id='app'>
    {
   {totalPrice}}
</div>
<script> new Vue({
      el:'#app', data:{
      books:[ {
     id:110,name:"unix编程艺术",price:119}, {
     id:111,name:"代码大全",price:105}, {
     id:112,name:"深入理解计算机原理",price:98} ] }, computed:{
      totalPrice(){
      let totalprice=0; for(let i in this.books){
      totalprice +=this.books[i].price } return totalprice; } } }) /* //循环方式一: for(let i in this.books){ this.books[i] } //循环方式二: for(let book of this.books){ //book表示里面的一个对象 } */ </script>

day02

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100735.html原文链接:https://javaforall.net

(0)
上一篇 2021年7月12日 下午6:00
下一篇 2021年7月12日 下午7:00


相关推荐

  • 世界名着100部简介

    世界名着100部简介01、傲慢与偏见      02、孤星血泪      03、雾都孤儿        04、唐·吉诃德  05、安娜·卡列尼娜      06、飘      07、简·爱       08、悲惨世界  09、茶花女      10、基督山恩仇记      11、童年         12、这里的黎明静悄悄  13、钢铁是怎样炼成的

    2022年4月28日
    47
  • dynamoDB数据库

    dynamoDB数据库首先安装 AWSCLI 安装后 在 cmd 输入 awsversion 检验是否安装成功然后 在 cmd 输入 awsconfigure 设置 aws 的密钥最后使用一下代码进行数据库的 CRUD 操作如果能帮助大家请手动点赞 packagecom skysoft modules controller importcom amazonaws services dynamodbv2 AmazonDyn

    2026年3月18日
    2
  • [RoCE]Flow Control

    [RoCE]Flow Control概览RoCE可以实现lossless无损网络环境,在二层网络上做到可靠网络传输,从而对原本在光纤网络环境下的应用在以太网环境下提供相同的服务,而不必对应用逻辑和上层协议更改。实现无损的方法有GlobalPause,PFC,DroplessReceiveQueue。1.什么是802.3xFlowControl(GlobalPause)?以太网标准(802.3)设计时是不可…

    2022年5月20日
    56
  • OpenClaw 最缺的,可能一直都不是教程

    OpenClaw 最缺的,可能一直都不是教程

    2026年3月14日
    2
  • mac怎么上传文件到服务器_shell上传文件到服务器

    mac怎么上传文件到服务器_shell上传文件到服务器前言我们使用mac时,想让本地文件上传至服务器,该怎么办呢windows系统,我们可以使用xftp或者rz命令,那么mac呢?mac系统,我们可以使用sftp、scp或者rz命令,本文介绍sft

    2022年8月6日
    5
  • 共享打印机错误代码709_连接共享打印机错误0*0000011b

    共享打印机错误代码709_连接共享打印机错误0*0000011b最近发现很多用户连接或安装局域网共享的打印机时出现很多问题,常见的错误代码是0x0000011b和0x00000709或0x000006d9这三个错误。要如何解决呢?下面来讲一下如何解决这两个问题。键盘组合键徽标键Win+R键打开运行,在弹出的运行框中输入【services.msc】确定打开服务窗口,检查这两个服务是否已启动:PrintSpooler和WindowsFirewall一般Win7易出的错误6d9是后面的服务未启动所致。依次查找并卸载KB5005565、KB5005566、KB5005…

    2025年10月20日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号