我目前正在挖掘一个相当大的项目,并尝试将各个部分分成自己的项目。
一个程序集让我头疼,因为在单独的项目中引用它会引发有关循环依赖的错误。
我现在的问题是如何查找项目中特定程序集引用的所有用法?
当http.get方法更新我时,我正在创建表行...接收数据我使用角度2版本中的JS/jquery创建表行.
我的代码:
<tr>
<td>2</td>
<td>BAJAJ-AUTO</td>
<td>14.284%</td>
<td>27/12/2013 12:00 am</td>
<td>30/12/2013 12:00 am</td>
<td>1935</td>
<td>30/12/2013 12:00 am</td>
<td>1935</td>
<td>31/12/2013 12:00 am</td>
<td>2120</td>
<td><button class="btn btn-default" onclick="processAdvise('BAJAJ-AUTO')">Process Advise</button></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
所以最后一个td- 有一个按钮,它将调用我的角度2函数来处理它 - 这个代码即使在函数的开头也不会到达
我也试过这个无济于事:
(click) 为角2onclick 并使用脚本标记将该函数保存在同一HTML模板中寻找Observable http序列的帮助,我想对api进行两次http调用,第二次依赖于第一次.第一个返回一个Urls数组,第二个为该数组中的每个url生成get请求,然后返回流上的响应.如果我在其中一个依赖请求中硬编码,那么我会找回我正在寻找的一个标题:
search(character): Observable<any> {
let that = this
let queryUrl: string = character.url;
return this.http.get(queryUrl)
.map((response: Response) => {
this.characterResults = response.json().films
return this.characterResults
//Example response:
// ["https://api.com/films/1", "https://api.com/films/2", "https://api.com/films/3", "https://api.com/films/4"]
})
.flatMap((film) => {
return that.http.get(film[0])
.map((response: Response) => {
return response.json().title
})
})
}
getApiData(character) {
this.apiService.search(character)
.subscribe((results) => { // on sucesss
console.log(results)
},
(err: any) => { // on error
console.log(err);
},
() => { // on completion
console.log('complete')
}
);
Run Code Online (Sandbox Code Playgroud)
但任何尝试使用forEach迭代该数组然后进行所有http调用都会给我这个错误:
browser_adapter.js:84 EXCEPTION: TypeError: …Run Code Online (Sandbox Code Playgroud) 我正在开发Angular 2项目并遵循Http Client Guide来实现HTTP请求但在使用RsJx模块时收到以下错误.
'Observable'类型中不存在'toPromise'属性
我已完成以下操作,但错误仍然存在:
import 'rxjs/add/operator/toPromise'; 服务模块RxJs库的版本是否存在依赖关系.RxJs library你可以找到我的源代码在这里 Github上.请指导我应该做什么以及我缺少什么.谢谢.
您可以在rxjs-operators.ts文件中找到所有导入,我在app.component.ts文件中引用它以使其全局但仍然在dragon.service.ts文件中有错误.此外,.map()也显示相同的错误.
您可以在package.json文件中找到所有版本的详细信息.
其他细节是:
注意: 现在我已对代码进行了评论,但您可以根据需要进行修改.
我为我的应用程序开发了一个触摸友好的微调器,但是当我将名称传递给微调器子组件时,它始终为空或未定义。我需要做什么才能让微调器子组件识别传入的字符串?
这是对子组件的 html 调用:
<div class="ui-grid-col-8 spinnerMargin">
<kg-spinner [spinName]="macroCarbs"
[range]="[10,50]"
[increment]="5"
[startValue]="20"
(onChanged)="onChanged($event)"></kg-spinner>
</div>
Run Code Online (Sandbox Code Playgroud)
在父组件中:
onChanged(sr: SpinnerReturn) {
if (sr.spinName === "macroCarbs") {
(<FormControl>this.macroForm.controls['macroCarbs']).setValue(sr.spinValue);
} else if(sr.spinName === "macroProtein") {
(<FormControl>this.macroForm.controls['macroProtein']).setValue(sr.spinValue);
} else if(sr.spinName === "calorieDifference") {
(<FormControl>this.macroForm.controls['calorieDifference']).setValue(sr.spingValue);
}
Run Code Online (Sandbox Code Playgroud)
子组件:
import { Component, OnInit, Input, Output, EventEmitter} from '@angular/core';
import { SpinnerReturn } from '../../interfaces/spinnerReturn';
@Component({
selector: 'kg-spinner',
templateUrl: './app/shared/spinner/kgSpinner.component.html',
styleUrls: ['./app/shared/spinner/kgSpinner.component.css']
})
export class KgSpinnerComponent implements OnInit {
@Input() startValue: number;
@Input() range: number[];
@Input() increment: number;
@Input() spinName; …Run Code Online (Sandbox Code Playgroud) 我有一个登录组件和一个简单的方法:
login(event) {
event.preventDefault();
this.authService.login(this.user);
}
Run Code Online (Sandbox Code Playgroud)
这是我的AuthService:
export class AuthService {
constructor(private jsonApiService:JsonApiService) {
}
isLoggedIn: boolean = false;
login(user:User): any {
this.jsonApiService.post('/token', user)
.subscribe(
resp => {
check if success,
store token to localstorage,
set isLoggedIn = true
* return new object with data about success/error
},
err => {
handle error
* return new object with data about success/error
});
}
logout(): void {
this.isLoggedIn = false;
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常.我得到了回应,但我想知道如何将一些数据从服务返回到组件.我不想移动订阅组件,因为,我相信,处理必须在AuthService中.
我通过以下方式从服务器获取 JSON 错误响应,
let err = {
"_body": "{\"error\":\"264\",\"message\":\"Please enter valid usename/password\",\"object\":null}",
"status": 400,
"ok": false
}
Run Code Online (Sandbox Code Playgroud)
我想在屏幕上显示错误消息“请输入有效的用户名/密码”
我尝试了以下方式,但没有运气,
console.log((this.err._body).replace(/\\/g, ''));
Run Code Online (Sandbox Code Playgroud) 我在angularjs 2中使用typescript语言到我的REST api应用程序,问题是 - typescript给出编译时错误
[ts] Property 'name' does not exist on type 'JSON'.any
当我尝试访问INCOMING JSON对象时,我的功能代码如下
createPerformanceChart(data: JSON) {
// Show Up the Fund Details Data
var details: any;
for(var j = 0 ; j < Object.keys(this.funds).length; j++)
{
if(data.name == this.funds[j].name) // data.name throws Error
{
details = this.funds[j];
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何转换JSON或访问JSON对象 - 这样它不会抛出编译时错误并让我编译代码.
我希望在一个有角度的2模板中有一个简单的html表单(在没有依赖javascript的情况下执行POST).
拥有以下普通的POST表单:
<form action="connect/facebook" method="POST">
<input type="hidden" name="scope" value="public_profile,email"/>
<button type="submit">Connect to FB</button>
</form>
Run Code Online (Sandbox Code Playgroud)
在html模板中会导致以下错误:
Template parse errors: No provider for ControlContainer ("
<h2 class="text-xs-center">{{'SIGNIN_FORM.TITLE' | translate}}</h2>
[ERROR ->]<form action="connect/facebook" method="POST">
<input type="hidden" name="scope" value="pub"): SigninComponent@6:8 ; Zone: <root> ; Task: Promise.then ; Value:
Error: Template parse errors: No provider for ControlContainer ("
<h2 class="text-xs-center">{{'SIGNIN_FORM.TITLE' | translate}}</h2>
[ERROR ->]<form action="connect/facebook" method="POST">
<input type="hidden" name="scope" value="pub"): SigninComponent@6:8
at TemplateParser.parse (http://localhost:8080/main.bundle.js:20619:19)
at RuntimeCompiler._compileTemplate (http://localhost:8080/main.bundle.js:42414:51)
at http://localhost:8080/main.bundle.js:42337:83
at Set.forEach (native)
at compile (http://localhost:8080/main.bundle.js:42337:47) …Run Code Online (Sandbox Code Playgroud) 使用ngSwitch内部的正确方法是ngFor什么?
如果我执行以下操作,则会收到错误消息
得到插值({{}}),其中表达式是预期的
<span *ngFor="let action of actions">
<span [ngSwitch]="{{action}}">
<span *ngSwitchCase='edit'>Edit</span>
<span *ngSwitchCase='delete'>Delete</span>
</span>
</span>
Run Code Online (Sandbox Code Playgroud)