JavaScript类中const用法:Ember代码const { getOwner } = Ember;含义与作用问询
解析Ember组件中
const { getOwner } = Ember;的含义与用途 这行代码是ES6的解构赋值语法,简单来说就是从Ember这个全局对象(或者模块导出集合)里,把getOwner这个函数单独提取出来,变成当前组件作用域下的一个独立变量。
至于它的用途,核心确实是为了避免代码重复,同时让代码更简洁易读:
- 没有这行的话,你每次调用这个函数都得写全
Ember.getOwner(xxx),有了解构之后,直接写getOwner(xxx)就行,少敲了不少重复的字符; - 另外,把依赖的函数解构到组件顶部,能让其他开发者一眼就看出来这个组件用到了Ember的哪个工具函数,代码的可读性和维护性也更好。
顺便补充下getOwner在Ember组件里的实际用处:它主要用来获取当前组件的"所有者"(通常是应用实例或者父路由),通过这个所有者你可以访问到注册的服务、对象等,比如获取数据存储服务的话,解构后你可以写getOwner(this).lookup('service:store'),比写全Ember.getOwner(this).lookup('service:store')清爽多了。
内容的提问来源于stack exchange,提问作者user1297293
相关产品推荐
相关产品推荐

