小编kor*_*ral的帖子

TypeError:您提供了一个无效的对象,其中包含一个流.您可以提供Observable,Promise,Array或Iterable

我试图map从服务电话,但得到一个错误.看看订阅没有在角度2中定义?它说,为了订阅我们需要从运营商内部返回.我也有回复陈述.

这是我的代码:

checkLogin(): Observable<boolean> {
    return this.service.getData()
        .map(
            response => {
                this.data = response;                            
                this.checkservice = true;
                return true;
            },
            error => {
                // debugger;
                this.router.navigate(['newpage']);
                console.log(error);
                return false;
            }
        )
        .catch(e => {
            return e;
        });
}
Run Code Online (Sandbox Code Playgroud)

错误日志:

TypeError: You provided an invalid object where a stream was expected. You can provide an Observable, Promise, Array, or Iterable
Run Code Online (Sandbox Code Playgroud)

observable rxjs typescript angular

49
推荐指数
7
解决办法
11万
查看次数

git clone无法解析代理

当我尝试从git克隆时

git clone "http://github.com/symfony/symfony.git" "d:/www/a/vendor/symfony"
Run Code Online (Sandbox Code Playgroud)

我收到一个错误

Cloning into 'd:/www/a/vendor/symfony'...
error: Couldn't resolve proxy '(null)' while accessing http://github.com/symfony/symfony.git/info/refs
fatal: HTTP request failed
Run Code Online (Sandbox Code Playgroud)

我直接连接到互联网(没有代理).我试图关闭防火墙并没有帮助.我在Windows上,刚从http://code.google.com/p/msysgit/downloads/list安装了Git-1.7.10-preview20120409.exe .以前我有1.7.8,这个命令工作.我也重新安装了TortoiseGit,但我觉得没关系.

我的C:\Documents and Settings\xxx\.gitconfig档案是

[http]
    proxy = 
[user]
    name = xxxx
    email = xxx@example.com
Run Code Online (Sandbox Code Playgroud)

git

42
推荐指数
5
解决办法
6万
查看次数

打字稿泛型: &lt;T,&gt; 是什么意思?

我尝试理解代码(React 应用程序的一部分):

interface SearchProps<T> {
  className?: string;
  value?: T;
  options?: T[];
  onChange?: (event: object, value: T | string, reason: string) => void;
  onInputChange?: (event: object, value: string, reason: string) => void;
  onClear?: () => void;
  renderOption?: FC<T>;
  getOptionLabel?: (option: T) => string;
}

interface TranslatedSearchProps<T> extends SearchProps<T> {
  t?: TFunction;
}

export const PureSearch = <T,>({
  className,
  value,
  options,
  onChange,
  onInputChange,
  onClear,
  renderOption,
  getOptionLabel,
  t = (key: string) => key,
}: TranslatedSearchProps<T>) => {
  return (
    <Autocomplete
      className={className}
      freeSolo
      disableClearable …
Run Code Online (Sandbox Code Playgroud)

typescript reactjs

19
推荐指数
1
解决办法
2689
查看次数

Angluar2在http拦截器内部路由

我使用Angular 2.4.8.与后端的通信是通过REST进行的.在每个请求中,我需要X-Auth-Token在标头中发送.令牌存储在会话中.令牌过期时,服务器返回401状态.在这种情况下,我希望应用程序进入登录页面.

我在我的项目中添加了http拦截器

@Injectable()
export class HttpInterceptor extends Http {

    constructor(backend: XHRBackend
        , defaultOptions: RequestOptions
        , private router: Router
    ) {
        super(backend, defaultOptions);
    }

    request(url: string | Request, options?: RequestOptionsArgs): Observable<Response> {
        return super.request(url, options).catch((error: Response) => {
            if ((error.status === 401 || error.status === 403) && 
            (window.location.href.match(/\?/g) || []).length < 2) {
                // tslint:disable-next-line:no-console
                console.log('The authentication session expires.');
                window.sessionStorage.removeItem('auth-token');
                window.location.href = window.location.href + '/login';
                // this.router.navigate(['/login']);
                return Observable.empty();
            }
            return Observable.throw(error);
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

除了以外它运作良好.但我不使用路由器,而是简单的重定向和整个应用程序重新加载.当我改变评论时

// window.location.href …
Run Code Online (Sandbox Code Playgroud)

typescript angular2-routing angular

14
推荐指数
2
解决办法
2614
查看次数

打字稿:将所有未导入新命名空间的类导入

我的模块中有几个类all.ts

export class TemperatureSensor {
    temperature: number;
}

export class Chasis {
    id: string;
    type: string;
    ambientTemperature: TemperatureSensor
}

export class Computer {
    model: string;
    serial: string;
    chasis: Chasis;
}
Run Code Online (Sandbox Code Playgroud)

在另一个模块中,我需要导入所有这些 - 我使用

import * as models from 'all';
Run Code Online (Sandbox Code Playgroud)

我可以访问类new models.Computer()作为示例。

问题:如何导入all.ts没有命名空间的所有类?所以我想用new Computer()?

typescript

7
推荐指数
1
解决办法
4604
查看次数

覆盖PHPDoc中的返回类型

我有一个Abc方法类(正文并不重要):

/**
 * @return SomeBaseClass
 */
function getAll() { ... }
Run Code Online (Sandbox Code Playgroud)

Abc被调用的子类中,AbcChild我想重新定义返回类的类型,以便在Netbeans中正确地看到它.我可以不重新定义方法吗?

/**
 * @return SomeClass
 */
function getAll() { return parent::getAll(); }
Run Code Online (Sandbox Code Playgroud)

phpdoc

6
推荐指数
1
解决办法
3241
查看次数

使用制表符编辑表单中的Symfony2大实体

我正在使用Sf2的表单构建器构建表单.

public function buildForm(FormBuilder $builder, array $options)
{
    $builder->add('firstName')
            ->add('lastName')...
Run Code Online (Sandbox Code Playgroud)

实体有很多字段,我想把它们放在jQuery UI标签中.但在twig模板中,我想使用单个命令

<form action="#" method="post" {{ form_enctype(form) }}>
    {{ form_widget(form) }}
    <input type="submit" value="Save"/>
</form>
Run Code Online (Sandbox Code Playgroud)

什么是最佳解决方案?

编辑**

为了更加坦诚:我有4个字段:firstName,lastName,birthDate,deathDate.我希望前两个字段位于第一个选项卡上,最后两个字段位于第二个选项卡上.我想继续像前面提到的那样渲染表单.

我有一个解决方案来创建我自己的字段,而不是连接到底层对象,它将呈现所需的html标签(h3,div等).

forms tabs symfony-forms symfony

5
推荐指数
1
解决办法
4836
查看次数

Angular 2 RC5路由器重定向与Auth0服务

我有一个使用Angular 2的简单应用程序.我目前使用NgModule在RC5上.我使用的是3.0.0-beta.2路由器.

我的默认应用网址目前是

HTTP://本地主机:8080 /#

当我使用Auth0服务登录时,在成功登录后,在URL中获取access_token和id_token.重定向网址看起来像这样

HTTP://本地主机:8080 /#=的access_token&YKXQzxxx = id_token eyjQWASxxx

但现在Angular路由器尝试将其映射为路由.所以我得到以下错误.

**

未捕获(承诺):错误:无法匹配任何路线:'access_token'

**

有没有办法告诉Angular不要这样做.我希望将数据作为路由器参数读回.请帮忙.

routing oauth auth0 angular2-routing angular

5
推荐指数
0
解决办法
310
查看次数

Typescript:以不同名称导出接口

我需要导入接口,向 id 添加属性并导出与原始接口同名的新接口。然后在所有使用此界面的地方我只能更改导入位置。

import { Routes, Route } from '@angular/router';
interface Route2 extends Route {
    description: string;
}

export declare type Routes = Route2[];
Run Code Online (Sandbox Code Playgroud)

然后我愿意(虽然这是不可能的)

export Route2 as Route;
Run Code Online (Sandbox Code Playgroud)

typescript

5
推荐指数
1
解决办法
5504
查看次数

角度单元测试 - 成功构建后启动 Chrome(需要很长时间)

在某些构建 Angular 应用程序的机器上,需要超过 2*60 秒(由 Karma 启动的 Chrome 捕捉内容的默认超时)。

有没有办法在构建完成后强制 Karma 启动 Chrome?

我的package.json

{
  "dependencies": {
    "@angular/animations": "4.4.4",
    "@angular/common": "4.4.4",
    "@angular/compiler": "4.4.4",
    "@angular/core": "4.4.4",
    "@angular/forms": "4.4.4",
    "@angular/http": "4.4.4",
    "@angular/platform-browser": "4.4.4",
    "@angular/platform-browser-dynamic": "4.4.4",
    "@angular/platform-server": "4.4.4",
    "@angular/router": "4.4.4",
    "rxjs": "5.4.3",
    "ts-md5": "^1.2.2",
    "zone.js": "^0.8.17"
  },
  "devDependencies": {
    "@angular/cli": "1.4.4",
    "@angular/compiler-cli": "4.4.4",
    "@types/jasmine": "2.5.45",
    "@types/node": "~6.0.60",
    "jasmine-core": "^2.8.0",
    "jasmine-spec-reporter": "^4.2.1",
    "karma": "^1.7.1",
    "karma-chrome-launcher": "^2.2.0",
    "karma-cli": "~1.0.1",
    "karma-coverage-istanbul-reporter": "^1.3.0",
    "karma-jasmine": "~1.1.0",
    "karma-jasmine-html-reporter": "^0.2.2",
    "protractor": "^5.1.2",
    "protractor-console-plugin": "^0.1.1",
    "protractor-jasmine2-screenshot-reporter": "^0.4.1",
    "ts-helpers": "1.1.2", …
Run Code Online (Sandbox Code Playgroud)

karma-runner karma-jasmine karma-chrome-launcher angular angular-test

5
推荐指数
1
解决办法
267
查看次数