我想在js中导入多个东西,我尝试过这样的import { Component, OnInit, Input } from '@angular/core';
import { OrdersService } from '../orders.service';
import { Order } from '../order';
@Component({
selector: 'app-order-details',
templateUrl: './order-details.component.html',
styleUrls: ['./order-details.component.scss'],
providers: [OrdersService]
})
export class OrderDetailsComponent implements OnInit {
@Input() order: Order;
constructor(private _ordersService: OrdersService) { }
ngOnInit() {
this.getOrder();
console.log(this.order);
}
getOrder(): any {
this._ordersService.getOrder(1).subscribe(order => this.order = order);
}
:
导出文件AppEpics.js:
import *
导入文件:
export fooEpic = Observable.of() // some fancy code;
export barEpic = Observable.of() // some other fancy code;
我发现当我记录import * as App from './AppEpics'
export default combineEpics(...App)
时,我得到一个包含foo和bar的对象,但是当我记录App
时,我什么都没得到。
我正在使用babel预设env并立即做出反应。我该如何解决?
BTW,combineEpics只接受像...App
这样的史诗,所以我不能这样调用这个函数:
fooEpics
答案 0 :(得分:1)
从导入中删除“as App”:
import * from './App'
它应该有用。
答案 1 :(得分:1)
App
是你的情况下的对象,你试图将它作为函数combineEpics(...App)
的参数传播,只有当App是数组时才会起作用。
如果您想将所有导出的值传递到combineEpics
,您需要像combineEpics(...Object.values(App))
那样做或在App.js中添加export default [foo, bar]
并在文件中添加import App from './App' and combineEpics(...App)
。 / p>
答案 2 :(得分:0)
如果您想一次导入所有内容,也可以使用
import * from './yourName'
如果您要将特定组件导入文件
import { Comp1, Comp2, Comp3 } from './yourName'
需要导出组件。你也可以马上做到这一点。为此,我在package.json中添加了对文件(index.js)的默认引用。
"name": "yourName",
"version": "1.0.0",
"main": "index.js",
在index.js中,我添加了导出。
export { default as Comp1 } from './yourPath/comp1'