首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pug学习

理解 Pug是一款健壮、灵活、功能丰富的HTML模板引擎,专门为 Node.js 平台开发。Pug是由Jade 改名而来。...命令行 将pug格式转化为HTML的时候输入命令pug -P xxx.pug 自动更新 pug -P -w xxx.pug 有自定义目录的需求,则需要设置-o参数 3. 结构语法 结构语法: 1. ...条件循环:if else 判断 和 case 判断 7. mixin混入 是一种允许您在 Pug 中重复使用一整个代码块的方法。...//mixin 定义 mixintest    p study pug //mixin 调用 +test 可传参数、嵌套、内联代码块、传递属性(有两种方法,第一种可以通过p(class=attributes.class...)取到特定的属性,第二种可以通过p&attributes(attributes)取到全部的属性)、传递不确定数量的参数(用…items 表示) 8. include包含 解决的是文件和文件之间,文件和区块之间代码复用的问题

1.1K10

Vue进阶部分文档研读和学习

,不用重复写冗余逻辑(类似继承) 使用方法: 在某一公共文件夹pub下创建mixin文件夹,其下创建mixinTest.js const mixinTest = { created() {...监听事件的回调函数的第一个参数都是el,为过渡的dom元素,在enter和leave这两个还会传入done作为第二个参数 元素首次渲染的动画,可以指定的监听事件有4个([before|after]?...这个属性是通过设置一个css类的样式,来将创建元素在定位变化时的过渡,Vue内部是通过FLIP实现了一个动画队列,只要注意一点就是过渡元素不能设置为display:inline,这里需要文档上的代码做一个简短的...我自己总结就是:通过利用Vue的响应式系统,把数字的变化通过外部库把DOM上对应数值的变化做出连续的效果,如1->100是个数字递增的连续过程,黑色->红色的过程。...至于最后的SVG,其本质也是数字的过渡,只不过里面涉及的状态变量更多,代码更长而已,不过纯前端页面这种需求倒还是不多的,不过作为爱好倒可以鼓捣一些好玩的小demo,不过肯定需要设计师的参与,要不那些参数可不好调出来呐

1.3K70
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    第八章:vue生命周期、vue的DOM操作、mixin混入,插件

    完成案例: 需求1:使用js,完成效果 当页面加载完成时 让p标签字体大小由10px一直增加,每次加1 到50px后在减小到10px 再累加 循环往复。...可以达成由父组件直接操作子组件的需求。 2.4 $nextTick方法 作用: 将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。.../mixin.js' 在组件的配置项中添加​​mixins​​配置项 把导入的mixin.js配置进去以数组形式配置 可以有多个混入 //导入配置好的mixin.js import...这个方法的第一个参数是 ​​Vue​​ 构造器,第二个参数是一个可选的选项对象(就是在使用插件时 可以传入其余的自定义参数): //自定义并向外暴漏一个插件 export default { /.../接收一个Vue的构造器 //install(Vue,参数2){} Vue就是构造器 参数2 就是注册插件时传入的其余的参数。

    11710

    less和sass的区别,你了解多少?

    1、Less: 是一种动态样式语言. 对CSS赋予了动态语言的特性,如变量、继承、运算、函数。...2、Sass: 是一种动态样式语言,Sass语法属于缩排语法, 比css比多出好些功能(如变量、嵌套、运算,混入(Mixin)、继承、颜色处理,函数等),更容易阅读。...,用混合宏;当有现成的class时用继承;当不需要参数,也不需要class时,用占位符 (5)、if条件结构: @if 条件{} @else{} (6)、for循环结构: @for $i from 1...:#{$j}px solid red; } $j:$j+1; } (8)、each循环遍历 @each item in a,b,c,d{ //item表示每一项 } (9)、函数: @function...func($length){ $length1:$length*5; @return $length1; } 调用:func(10px); (10)、使用…将传进来的所有参数,接收到一个变量中 @mixin

    5.9K20

    合格vue开发者应该知道的面试题

    vue如何监听对象或者数组某个属性的变化当在项目中直接设置数组的某一项的值,或者直接设置对象的某个属性值,这个时候,你会发现页面并没有更新。...observer case "push": case "unshift": inserted = args; break; // splice方法,如果传入了第三个参数...、extends 的覆盖逻辑(1)mixin 和 extends mixin 和 extends均是用于合并、拓展组件的,两者均通过 mergeOptions 方法实现合并。...mixins 接收一个混入对象的数组,其中混入对象可以像正常的实例对象一样包含实例选项,这些选项会被合并到最终的选项中。Mixin 钩子按照传入顺序依次调用,并在调用组件自身的钩子之前被调用。...esc.space.up.down.left.right系统修饰键.ctrl.alt.shift.meta鼠标按钮修饰符.left.right.middlev-for 为什么要加 key如果不使用 key,Vue 会使用一种最大限度减少动态元素并且尽可能的尝试就地修改

    1.3K150

    Vue2核心知识

    • 3. data中后续动态添加的新属性,Vue将无法监听这些属性的变化(不是响应式的),可以使用$set()解决该问题。...v-show 根据条件来控制元素的显示和隐藏。通过修改元素的display CSS属性来实现,元素始终存在于DOM中。 v-for 用于循环渲染列表中的元素,下面的【列表渲染】中会详细说。...v-on 简写为@,用于监听DOM事件,并触发Vue实例中对应的方法,可以通过指令参数传递事件名,也可以使用修饰符来对事件进行处理,下面的【事件处理】中会详细说。...,当数据发生变化时,Vue可以更准确地确定哪些节点是新创建的、被修改的或被删除的。...事件对象Vue在触发事件回调时,会主动的给我们传入一个参数 —— event(事件对象)。事件传参不传递参数 @click="show" ,show 方法会收到一个event(事件对象)。

    23510

    干货 | React Hook的实现原理和最佳实践

    1.1 React.mixin React mixin 是通过React.createClass创建组件时使用的,现在主流是通过ES6方式创建react组件,官方因为mixin不好追踪变化以及影响性能,...对于是否执行useEffect通过判断其第二个参数是否发生变化而决定的。...componentDidMount:通过 useEffect 传入第二个参数为[]实现。 componentDidUpdate:通过 useEffect 传入第二个参数为空或者为值变动的数组。...根据我们了解到的知识,如果 useEffect 第二个参数不传入,导致每次data更新都会执行,这样就陷入死循环循环了。需要改造下: javascript ......简单介绍下useInterval钩子: 1、通过useRef创建一个对象; 2、将需要执行的定时任务储存在这个对象上; 3、将time作为第二个参数是为了当我们动态改变定时任务时,能过重新执行定时器。

    10.8K22

    字节前端面试题

    通过创建 Vue 组件,我们可以将接口的可重复部分及其功能提取到可重用的代码段中。仅此一项就可以使我们的应用程序在可维护性和灵活性方面走得更远。...第二个是实现代码的逻辑提取与复用,当然mixin也可以实现逻辑提取与复用,但是像前面所说的,多个mixin作用在同一个组件时,很难看出property是来源于哪个mixin,来源不清楚,另外,多个mixin...Vue更有压力,性能也相对于Vue来说也较慢Compositon API的调用不需要顾虑调用顺序,也可以在循环、条件、嵌套函数中使用响应式系统自动实现了依赖收集,进而组件的部分的性能优化由Vue内部自己完成...该对象将会包裹(wrapper)传入的参数 this(当前数组)。...thisArg(可选): 执行 callback 时,用于 this 的值。返回值:一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。

    1.8K20

    Python学习笔记(七)·面向对象高级编程

    , CarnivorousMixIn): pass MixIn 的目的就是给一个类增加多个功能,这样,在设计类的时候,我们优先考虑通过多重继承来组合多个 MixIn 的功能,而不是设计多层次的复杂的继承关系...我们说class的定义是运行时动态创建的,而创建class的方法就是使用type()函数。...class对象,type()函数依次传入3个参数: class的名称; 继承的父类集合,注意Python支持多重继承,如果只有一个父类,别忘了tuple的单元素写法; class的方法名称与函数绑定,这里我们把函数...MyList(list, metaclass=ListMetaclass): pass 当我们传入关键字参数metaclass时,魔术就生效了,它指示Python解释器在创建MyList时,要通过...要编写一个ORM框架,所有的类都只能动态定义,因为只有使用者才能根据表的结构定义出对应的类来。 让我们来尝试编写一个ORM框架。 编写底层模块的第一步,就是先把调用接口写出来。

    53220

    滴滴前端常考vue面试题_2023-02-28

    如何获取传过来的动态参数?...uname=' + jsmes) 3)获取参数 通过$route.query 获取传递的值 Class 与 Style 如何动态绑定 Class 可以通过对象语法和数组语法进行动态绑定 对象语法: <div...case "push": case "unshift": inserted = args; break; // splice方法,如果传入了第三个参数...简述 mixin、extends 的覆盖逻辑 (1)mixin 和 extends mixin 和 extends均是用于合并、拓展组件的,两者均通过 mergeOptions 方法实现合并。...mixins 接收一个混入对象的数组,其中混入对象可以像正常的实例对象一样包含实例选项,这些选项会被合并到最终的选项中。Mixin 钩子按照传入顺序依次调用,并在调用组件自身的钩子之前被调用。

    84730

    作为一个菜鸟前端开发,面了20+公司之后整理的面试题

    key 应该是唯一ID,最好是 UUID 或收集项中的其他唯一字符串: {todos.map((todo) => li key={todo.id}> {todo.text}...高阶组件存在的问题静态方法丢失(必须将静态方法做拷贝)refs 属性不能透传(如果你向一个由高阶组件创建的组件的元素添加ref引用,那么ref指向的是最外层容器组件实例的,而不是被包裹的WrappedComponent...state 的管理在大项目中相当复杂。Redux 提供了一个叫 store 的统一仓储库,组件通过 dispatch 将 state 直接传入store,不用通过其他的组件。...(1)代码中调用 setState 函数之后,React 会将传入的参数对象与组件当前的状态合并,然后触发所谓的调和过程(Reconciliation)。...:通过给函数传入一个组件(函数或类)后在函数内部对该组件(函数或类)进行功能的增强(不修改传入参数的前提下),最后返回这个组件(函数或类),即允许向一个现有的组件添加新的功能,同时又不去修改该组件,属于

    1.2K30

    【React深入】从Mixin到HOC再到Hook(原创)

    React中应用Mixin React也提供了 Mixin的实现,如果完全不同的组件有相似的功能,我们可以引入来实现代码复用,当然只有在使用 createClass来创建 React组件时才可以使用,因为在...实际上,上面的组合渲染和条件渲染都是 渲染劫持的一种,通过反向继承,不仅可以实现以上两点,还可直接 增强由原组件 render函数产生的 React元素。...虽然我们能拿到它,但是我们不能直接修改它里面的属性,我们通过 getOwnPropertyDescriptors函数来打印下它的配置项: ?...Effect Hook Effect Hook 可以让你在函数组件中执行一些具有 side effect(副作用)的操作 参数 useEffect方法接收传入两个参数: 1.回调函数:在第组件一次 render...,当 useEffect的第二个参数传入一个空数组时可以实现这个效果。

    1.8K31

    python简明笔记

    可以通过给属性增加相应的get、set方法来访问和修改属性的值,通过定义方法来访问或修改属性的值,可以在方法中对参数来做检查,避免传入无效的参数 【注意】 在Python中,变量名类似__xxx__的,...对于Python这样的动态语言来说,则不一定需要传入Animal类型。...许多函数接收的参数就是“file-like object“,你不一定要传入真正的文件对象,完全可以传入任何实现了read()方法的对象。...MixIn的目的就是给一个类增加多个功能,这样,在设计类的时候,我们优先考虑通过多重继承来组合多个MixIn的功能,而不是设计多层次的复杂的继承关系。 Python自带的很多库也使用了MixIn。...MyList(list, metaclass=ListMetaclass): pass 当我们传入关键字参数metaclass时,魔术就生效了,它指示Python解释器在创建MyList时,要通过ListMetaclass

    2.2K90

    React组件复用的方式

    Mixin 当然React很久之前就不再建议使用Mixin作为复用的解决方案,但是现在依旧能通过create-react-class提供对Mixin的支持,此外注意在以ES6的class方式声明组件时是不支持...属性代理 例如我们可以为传入的组件增加一个存储中的id属性值,通过高阶组件我们就可以为这个组件新增一个props,当然我们也可以对在JSX中的WrappedComponent组件中props进行操作,注意不是操作传入的...在一些情况下,我们可能需要为高阶属性传入一些参数,那我们就可以通过柯里化的形式传入参数,配合高阶组件可以完成对组件的类似于闭包的操作。...修改传入组件的HOC是一种糟糕的抽象方式,调用者必须知道他们是如何实现的,以避免与其他HOC发生冲突。HOC不应该修改传入组件,而应该使用组合的方式,通过将组件包装在容器组件中实现功能。...)的prop属性,该属性是一个函数,这个函数接受一个对象并返回一个子组件,会将这个函数参数中的对象作为props传入给新生成的组件,而在使用调用者组件这里,只需要决定这个组件在哪里渲染以及该以何种逻辑渲染并传入相关对象即可

    2.9K10

    React常见面试题

    主要api: react.createContext : 创建store [store].Provider: 包裹组件,并通过value 字段传递参数 [store].Consumer: 获取包裹组件内容...jsx调用js本身的特性来动态创建UI,与于传统模式下的模板语法不同 # react中组件通信的几种方式?...action,从而通过reduce方法来改变state,从而实现页面和状态的通信,使用很像redux useCallBack:把内联回调函数及依赖项数组作为参数传入 useCallback,它将返回该回调函数的...memoized版本,该回调函数仅在某个依赖项改变时才会更新 useMemo:把""创建""函数和依赖项数组作为参数传入 useMemo,它仅会在某个依赖项改变时重新计算, 可以作为性能优化的手段。...:通过store中的Provider方法 注入全局变量,provider组件中 引入全局变量: 通过 useContext,传入store的名字,返回一个store对象内容 const { useState

    4.2K20

    如何使用SASS编写可重用的CSS

    声明 创建mixin非常简单,只需在样式块之前添加@mixin和mixin名称,如下所示 @mixin {insert name} { //write CSS code here } 示例:....button-green { @include button; background-color: green; } 这里通过@include调用我之前创建名为button...mixin的一个参数,这里更新了上面的button模块,增加了名为background的参数并将其传递给模块。...如果我们想创建一个绿色的按钮,那么就可以使用以下代码: .button-green { @include button(green); } 你可能会好奇如果在定义mixin时定义了参数,...这种情况下你会收到一个编译错误的提示。同时我相信这种情况一定不是你想看到的。你可以通过在mixin中定义参数的时候给它设置一个默认值,从而来避免这种错误。

    7.7K20

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券