`
huangyongxing310
  • 浏览: 494150 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

VueJS 基础

 
阅读更多
VueJS 基础

所有的 Vue 组件都是 Vue 实例

slot

作用是否用于将子组件包含的元素预留存放的位置,但是里面的元素是不属于子组件的,它是属于父组件的,变量和方法都是访问父组件的,受父组件所控制。

<div id="app">  
    <children>  
        <span>12345</span>  
        <!--上面这行不会显示-->  
    </children>  
</div>  
<script>  
    var vm = new Vue({  
        el: '#app',  
        components: {  
            children: {    //这个无返回值,不会继续派发  
                template: "<button>为了明确作用范围,所以使用button标签</button>"  
            }  
        }  
    });  
</script>  


因为没有slot,所以 <span>12345</span> 是不会显示的


<div id="app">  
    <children>  
        <span>12345</span>  
    </children>  
</div>  
<script>  
    var vm = new Vue({  
        el: '#app',  
        components: {  
            children: {    //这个无返回值,不会继续派发  
                template: "<button><slot></slot>为了明确作用范围,所以使用button标签</button>"  
            }  
        }  
    });  
</script>  


<span>12345</span>  这样就会显示出来


<div id="app">  
    <children>  
        <span slot="first">12345</span>  
        <span slot="second">56789</span>  
        <!--上面这行不会显示-->  
    </children>  
</div>  
<script>  
    var vm = new Vue({  
        el: '#app',  
        components: {  
            children: {    //这个无返回值,不会继续派发  
                template: "<button><slot name='first'></slot>为了明确作用范围,<slot name='second'></slot>所以使用button标签</button>"  
            }  
        }  
    });  
</script>  

加上名字就会放到对应名字的slot中


<div id="app">  
    <children>  
        <span slot="first">【12345】</span>  
        <!--上面这行不会显示-->  
    </children>  
</div>  
<script>  
    var vm = new Vue({  
        el: '#app',  
        components: {  
            children: {    //这个无返回值,不会继续派发  
                template: "<div><slot name='first'><button>【如果没有内容则显示我1】</button></slot>为了明确作用范围,<slot name='last'><button>【如果没有内容则显示我2】</button></slot>所以使用button标签</div>"  
            }  
        }  
    });  
</script>
 

【1】name=’first’的slot标签被父组件对应的标签所替换(slot标签内部的内容被舍弃);

【2】name=’last’的slot标签,因为没有对应的内容,则显示该slot标签内部的内容。


VUE表达式,可以在标签内容上或绑定的属性上,表达式可以做到一个值的改变会引起表达式重新计算的变化,表达式可以是计算属性\方法\属性
<div id="app">
    {{5+5}}<br>
    {{ ok ? 'YES' : 'NO' }}<br>
    {{ message.split('').reverse().join('') }}
    <div v-bind:id="'list-' + id">菜鸟教程</div>
</div>


v-for 指令可以迭代对象,也会有index的参数传入,key参数传入


计算属性
在处理一些复杂逻辑时是很有用的。
依赖变量发生改变时,它也会更新。与表达式类似,只不过不用每次引用都写表达式

计算属性与方法都可以在标签中引用,其依懒发生改变,都会重新计算和调用
但是 computed 是基于它的依赖缓存,只有相关依赖发生改变时才会重新取值。而使用 methods ,在重新渲染的时候,函数总会重新调用执行。

可以说使用 computed 性能会更好,但是如果你不希望缓存,你可以使用 methods 属性。

重新渲染
一般情况下vue推崇的是数据驱动 也是数据更新进而使组件得以重新渲染。


监听属性,通过监听属性进行相关的逻辑处理(如改变另一个属性的值等)
如果存在依懒多个属性的话可以使用计算属性\方法的方式达到监听多个属必引起的变化作出处理的功能

可以在挂载时进行一次初始化,也可以获取路由中的相关参数


ES6中的字符串模板
`<Icon type="person"></Icon> <strong>${row.name}</strong>`; //用``,可以写变量在里面,不用一个个字符串进行拼接





分享到:
评论

相关推荐

    05-vuejs研究-vuejs基础-v-text指令.avi

    05-vuejs研究-vuejs基础-v-text指令.avi

    vuejs基础视频教程

    这是一份非常详细的vuejs的视频教程,非常适合初学者,文档中包含链接和提取码

    vue面试题整理vuejs基础知识整理.pdf

    Vue基础知识点总结 Vue是一款流行的前端框架,以下是关于Vue基础知识点的总结: 1. Vue的基本原理: 当创建一个Vue实例时,Vue会遍历data中的属性,使用Object.defineProperty(Vue 3.0使用Proxy)将它们转换为...

    VueJS基础:YT Baledemy 70部分的学习框架Vue JS

    在"VueJS基础:YT Baledemy 70部分的学习框架Vue JS"这个课程中,你将深入学习Vue的核心概念和基本用法。以下是基于VueJS和HTML的相关知识点: 1. **Vue实例**:Vue实例是Vue应用的起点,通过`new Vue()`创建。它...

    VueJs 填坑日记之基础概念知识解释

    ### VueJs 基础概念知识详解 #### 引言 在2016年初闻Vue.js时,很多开发者或许并未意识到它在未来几年内将成为前端领域的重要角色之一。特别是对于那些专注于后端开发的程序员来说,刚开始接触Vue.js时可能会感到...

    VueJS实现的时区选择器比对器源码.zip

    1. **VueJS基础知识**: - **组件化**:VueJS的核心是组件系统,它允许我们将UI拆分为可复用的部分。在这个项目中,时区选择器可能被设计为一个自定义组件,方便在整个应用中重复使用。 - **数据绑定**:VueJS的...

    AddingProductApp:这是一个简单的(初学者级)Vuejs项目,用于学习Vuejs的基础知识

    添加产品应用程序-VUEJS 这是一个有关Vuejs基础的简单Vuejs项目。项目设置npm install编译和热重装以进行开发npm run dev编译并最小化生产npm run build整理和修复文件npm run lint自定义配置请参阅。

    VueJS:用CodeSandbox创建

    一、VueJS基础 VueJS的核心特性包括声明式渲染、组件系统和响应式数据绑定。它允许开发者通过简单的模板语法来描述UI,并自动处理DOM更新。VueJS的组件化设计使得代码复用和项目结构管理变得简单,提高了开发效率。 ...

    vue入门学习介绍

    vuejs基础入门PPT,非常适合初学者及有PPT制作需求的同学。

    Vuejs 实现简易 todoList 功能 与 组件实例代码

    结合之前 Vuejs 基础与语法 •使用 v-model 双向绑定 input 输入内容与数据 data •使用 @click 和 methods 关联事件 •使用 v-for 进行数据循环展示 &lt;!DOCTYPE html&gt; &lt;html lang=en&gt; &lt;head&gt; &lt;...

    vuejs-base-course:列出要学习vue.js基础的课程

    在“VueJS基础课程”中,你将逐步学习到以上知识点,从创建第一个Vue实例开始,到构建实际项目。通过实践项目,你会对Vue.js有更深入的理解,从而能够独立开发基于Vue.js的应用程序。 “vuejs-base-course-main”这...

    Atom-vuejs-snippets,atom的vuejs片段。为Cezardasilva/Vuejs做出贡献.zip

    总的来说,"Atom-vuejs-snippets"是Vue.js开发者在Atom编辑器中提高生产力的有力工具,它简化了Vue代码的编写过程,使开发者能够更专注于业务逻辑,而不是基础语法的输入。如果你是Vue.js和Atom的使用者,这款扩展...

    Calculator_Vue:Projeto Calculado do Curso VueJS 2

    总的来说,Calculator_Vue项目提供了一个实践VueJS基础知识的平台,包括组件设计、响应式数据绑定、指令使用、生命周期钩子等,同时也涵盖了现代前端开发流程,如依赖管理、自动化构建和代码质量控制。通过参与这个...

    materio-vuetify-vuejs-admin-template.zip

    在深入讨论这个模板之前,让我们先了解一下Vue.js和Vuetify的基础知识。Vue.js是一种轻量级的前端JavaScript框架,以其简单易学、高性能和灵活性而闻名。它采用了声明式编程方式,使得开发者可以专注于描述应用的...

    VueJS购物车案例

    在这个案例中,我们将探讨Vue.js的基础知识以及如何将其应用到实际的购物车场景中。 首先,Vue.js的核心特性包括数据绑定、组件化和指令系统。在购物车案例中,数据绑定允许我们轻松地将商品信息(如价格、数量)与...

    stellar-client-vue:Stellar Github 明星组织者客户端的 VueJS 构建

    总的来说,"stellar-client-vue" 是一个涵盖了 VueJS 全栈开发实践的项目,从基础的 VueJS 框架应用,到更高级的前端工程实践,如状态管理、API 调用、测试以及团队协作流程,都是学习和研究的重要内容。

    monster-slayer-game:使用VueJS作为Udemy在线课程项目的一部分开发的游戏

    1. **VueJS基础应用** - **模板语法**:VueJS使用模板语法来创建DOM元素,如`&lt;template&gt;`用于定义视图结构,`&lt;span v-text="message"&gt;&lt;/span&gt;`用于数据绑定。 - **数据绑定**:VueJS的`v-model`指令用于双向数据...

Global site tag (gtag.js) - Google Analytics