【问题标题】:What should be structure of Vue component? in which order functions should be added?Vue组件的结构应该是什么?应该按什么顺序添加功能?
【发布时间】:2019-05-25 05:40:25
【问题描述】:

Vue 组件有没有系统的结构?计算、方法、组件、挂载的手表等应该按什么顺序编写?

【问题讨论】:

    标签: vue.js vuejs2 vue-component


    【解决方案1】:

    更新 对于component,我更喜欢将script 标签放在html 标签之前。作为我们主要用来玩js 的想法,所以我觉得总是在页面中向下移动。否则根据您的喜好进行布局

    根据 Vue 官方风格指南 -

    组件/实例选项的顺序应该一致。

    这是我们推荐的组件选项的默认顺序。它们被分为几类,因此您会知道从插件中添加新属性的位置。

    副作用(在组件外触发效果)

    el
    

    全球意识(需要组件以外的知识)

    name
    parent
    

    组件类型(改变组件的类型)

    functional
    

    模板修饰符(改变模板的编译方式)

    delimiters
    comments
    

    模板依赖(模板中使用的资产)

    components
    directives
    filters
    

    组合(将属性合并到选项中)

    extends
    mixins
    

    接口(组件的接口)

    inheritAttrs
    model
    props/propsData
    

    本地状态(本地反应属性)

    data
    computed
    

    事件(由反应事件触发的回调)

    watch
    Lifecycle Events (in the order they are called)
    beforeCreate
    created
    beforeMount
    mounted
    beforeUpdate
    updated
    activated
    deactivated
    beforeDestroy
    destroyed
    

    非反应性属性(独立于反应性系统的实例属性)

    methods
    

    渲染(组件输出的声明性描述)

    template/render
    renderError
    

    更多推荐style-guideVue - 看这里vue-style-guide

    【讨论】:

    • 我建议您根据vue官方指南设计的项目使用 eslint-plugin-vue - 非常有帮助- 欢迎
    【解决方案2】:

    不,没有。 100% 个人喜好。我喜欢从数据、方法开始,通常以生命周期方法结束。这类似于它通常在文档中的位置,并且看起来很方便,因为数据和方法发生了很大变化,而生命周期方法则没有那么多。但是,没有理由从框架中这样做。去你的游戏。

    【讨论】:

      【解决方案3】:

      在 JavaScript 中实际上可以保持对象键的顺序,但是这个 isn't guaranteed 用于 ES5 规范,Vue 支持。因此,不应期望框架会依赖于定义组件属性的顺序。

      组件函数可以像其他答案解释的那样保持一定的一致性顺序,但它们不应该。这纯粹是风格问题。

      【讨论】:

        猜你喜欢
        • 2017-08-23
        • 1970-01-01
        • 2021-02-13
        • 1970-01-01
        • 1970-01-01
        • 2011-02-12
        • 2011-10-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多