首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Vue.js access父组件

Vue.js access父组件
EN

Stack Overflow用户
提问于 2016-10-13 21:06:24
回答 1查看 17.7K关注 0票数 8

我有一个子组件,它有这个方法:

代码语言:javascript
运行
复制
getSubscriptions () {
    MessageService.subscriptions()
            this.$parent.loading = true;
            .then((data) => {
                if (data.data.subscriptions == null) {
                    this.noSubscriptions = true;
                } else {
                    this.subscriptions = data.data.subscriptions;
                }

                this.$parent.loading = false;
            }).bind(this);
}

所以我想在我的父组件中显示一个加载圆,我像这样访问它:

代码语言:javascript
运行
复制
this.$parent.loading

(我的父组件有一个名为loading的数据属性)

但是当我尝试用gulp ^编译它时,我收到了:

代码语言:javascript
运行
复制
[14:52:56] Starting 'browserify'...
  46 |                             }
  47 | 
> 48 | t                           this.$parent.loading = false;
     |                             ^
  49 |                         }).bind(this);
  50 |             },
  51 | 
{ SyntaxError: unknown: Unexpected token (48:28)
  46 |                             }
  47 | 
> 48 | t                           this.$parent.loading = false;
     |                             ^
  49 |                         }).bind(this);
  50 |             },

这里会有什么问题呢?

(我使用的是Vue.js 1.0)

EN

Stack Overflow用户

回答已采纳

发布于 2016-10-13 21:34:50

您在promise设置过程中添加了一个新语句。您需要重新排列代码:

代码语言:javascript
运行
复制
this.$parent.loading = true;
MessageService.subscriptions()
        .then((data) => {

但是,我不会像这样直接访问父级。它在父组件和子组件之间创建了紧密耦合--只有当父组件公开loading标志时,该组件才能工作。

相反,应该研究一下custom events

票数 15
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40021896

复制
相关文章

相似问题

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