代码是:
const foo = (foo: string) => {
const result = []
result.push(foo)
}
Run Code Online (Sandbox Code Playgroud)
我收到以下TS错误:
[ts]类型'string'的参数不能分配给'never'类型的参数.
我究竟做错了什么?这是一个错误吗?
我想在一个效果中发送两个动作.目前我必须声明两个效果来实现这一目标:
// first effect
@Effect() action1$ = this.actions$
.ofType(CoreActionTypes.MY_ACTION)
.map(res => {
return { type: "ACTION_ONE"}
})
.catch(() => Observable.of({
type: CoreActionTypes.MY_ACTION_FAILED
}));
// second effect
@Effect() action2$ = this.actions$
.ofType(CoreActionTypes.MY_ACTION)
.map(res => {
return { type: "ACTION_TWO"}
})
.catch(() => Observable.of({
type: CoreActionTypes.MY_ACTION_FAILED
}));
Run Code Online (Sandbox Code Playgroud)
是否可以通过单一效果成为一个动作的源头?
鉴于这个简单的组件:
import { Component} from '@angular/core';
@Component({
selector: 'app-component'
})
export class AppComponent {
foo() {
this.bar();
}
bar() {
console.log('hello');
}
}
Run Code Online (Sandbox Code Playgroud)
为什么以下测试不会验证bar我打电话时调用的内容foo
describe('AppComponent', () => {
let component: AppComponent;
beforeEach(() => {
component = new AppComponent();
}
it('should foobar', () => {
component.foo();
spyOn(component, 'bar');
expect(component.bar).toHaveBeenCalled();
})
}
Run Code Online (Sandbox Code Playgroud)
我得到了失败的测试:
Expected spy bar to have been called.
Run Code Online (Sandbox Code Playgroud) 如何返回这样的多个错误消息?
"errors": [
{
"message": "first error",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"somePath"
]
},
{
"message": "second error",
"locations": [
{
"line": 8,
"column": 9
}
],
"path": [
"somePath"
]
},
]
Run Code Online (Sandbox Code Playgroud)
在我的服务器上,如果我这样做throw('an error'),它会返回.
"errors": [
{
"message": "an error",
"locations": [
{
}
],
"path": ["somePath"]
}
]
Run Code Online (Sandbox Code Playgroud)
我想返回查询中所有错误的数组.如何向errors阵列添加多个错误?
是否存在与async我可以在这样的组件内部使用的管道等效的东西
@Component({
selector: 'my-component',
})
export class myComponent {
myObservable$: Observable<string>;
method() {
doSomething(this.myObservable$);
// here I would like to access directly the current string value of
// myObservable$ without having to subscribe
}
}
Run Code Online (Sandbox Code Playgroud) 我正在开始一个有角度材料的项目.它是否有一个原生系统用于在响应网格中定位元素,如bootstrap?
否则,将材料设计与引导程序结合用于网格系统是否可行?
也许我对这个问题采取了错误的方法.
我有一个像这样的fullstack项目:
myProject
packages
myProjectCommon
myProjectFrontEndApp1
myProjectFrontEndApp2
myProjectBackEnd
Run Code Online (Sandbox Code Playgroud)
我使用Lerna,以便我可以myProjectCommon用作内部依赖.
如果我决定做一个monorepo,我会做这样的事情:
myProject
.git
packages
myProjectCommon
myProjectFrontEndApp1
myProjectFrontEndApp2
myProjectBackEnd
Run Code Online (Sandbox Code Playgroud)
我看到的一个主要问题是,我将把所有包的提交历史混合在一起.
这个配置是否有一个工具可以让我查看特定包的提交历史记录?
或者是为每个包做单独的repos的最佳解决方案,并将它们用作git子模块,如下所示:
myProject
.git
.gitmodules
packages
myProjectCommon
.git
myProjectFrontEndApp1
.git
myProjectFrontEndApp2
.git
myProjectBackEnd
.git
Run Code Online (Sandbox Code Playgroud) 假设我想像这样解构我的函数参数
const func = ({field: {subField}}) => subField;
Run Code Online (Sandbox Code Playgroud)
如果字段是undefined或者null?如何防止此错误抛出?
我创建了一个名为“common”的本地 npm 包,由最小的 package.json 和文件 foo.ts 组成
我让它引用了我的项目的 package.json ,如下所示:
"dependencies": {
"common": "file:common",
}
Run Code Online (Sandbox Code Playgroud)
当我在代码中引用我的公共模块时,它不会编译。
这段代码:
import 'common/models/foo'
Run Code Online (Sandbox Code Playgroud)
崩溃:
Error: Cannot find module 'common/foo'
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
在 vscode 上是否有从编辑器切换到文件浏览器(反之亦然)的快捷方式?我还没有找到。谢谢你的帮助。
angular ×3
typescript ×2
css ×1
ecmascript-6 ×1
git ×1
graphql ×1
hapijs ×1
jasmine ×1
javascript ×1
karma-runner ×1
lerna ×1
ngrx ×1
node.js ×1
npm ×1
redux ×1
rxjs ×1