首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VueJS 2.x应该在哪里声明未用于数据绑定的变量?

VueJS 2.x应该在哪里声明未用于数据绑定的变量?
EN

Stack Overflow用户
提问于 2018-04-12 23:56:28
回答 1查看 113关注 0票数 1

正如标题所显示的那样,我是否应该在中声明所有的变量?还是只有那些用于数据绑定的?

代码语言:javascript
复制
<script>
    var somethingElse = '';    //should this be declared here?
    export default {
    data () {
        return {
            something: '',     //this var will be used in data-binding
            somethingElse: ''  //or here?

        }
    }

...
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-13 00:20:36

我了解您来自其他libs/框架,在这些框架中,实例变量和状态存在差异。其中更改实例变量不会触发重新呈现,但更改状态可能会触发。

在Vue你不用担心这个。您可以在data中获得所有内容,而Vue只有在更改实际在任何重要位置使用的东西(例如模板)时才会重新呈现。

代码语言:javascript
复制
<script>
    export default {
    data () {
        return {
            something: '',     
            somethingElse: '' // you can declare it here, it's the usual way
        }
    }

...

另一方面,您可以在外部声明变量,但如果这样做:

代码语言:javascript
复制
<script>
    var somethingElse = ''; // this will be a singleton. Generally used for constants
    export default {
    data () {
        return {
            something: '',     //this var will be used in data-binding
        }
    }

...

然后,somethingElse将在该组件的所有实例之间共享。对于所有这些实例,它都是一个单例值:如果您在一个实例中进行更改,它将同时对所有实例进行更改。(它不会是反应性的,这意味着对somethingElse的更改不会触发任何地方的重新呈现。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49807418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档