我想在前端将一个字符串拆分为json格式,但我的服务和组件之间存在类型不匹配的问题。
我接收的阵列如下所示:
0:Active,1:Logged In,2:Password tries exceeded,3:Force password change,4:Expired,5:Disabled
我在控制台日志中成功地分离了阵列,但是当我想将它们设置到我的双矩阵阵列中时,它们不匹配或显示为未定义。
服务ts
import 'rxjs/add/observable/from';
import 'rxjs/add/observable/throw';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import { Injectable } from '@angular/core';
import { Headers, Http, RequestOptions } from '@angular/html" target="_blank">http';
import { UpdateGroup } from '../_models/updateGroup';
@Injectable()
export class StatusService {
private splitList : String[];
//parsedList : {id: String, name: String}[];
private parsedList : String[][];
constructor(private http: Http) {
}
parseList(toParse : String): String[][] {
var fieldCount = Number.parseInt(toParse.substr(0, 1));
toParse = toParse.substr(1);
this.splitList = toParse.split(/(?::|,)/);
console.log("Found string " + toParse);
console.log("Field count is " + fieldCount);
console.log("splitList length is " + this.splitList.length);
for (let index = 0; index < this.splitList.length; index++) {
console.log(this.splitList[index]);
}
console.log("new length is " + this.splitList.length/fieldCount);
this.parsedList = String[this.splitList.length/fieldCount][fieldCount]; //does not work
for (let i = 0; i < this.splitList.length; i+=fieldCount) {
for(let j = 0; j < fieldCount; j++)
this.parsedList[i/fieldCount][j] = this.splitList[i+j];
}
return this.parsedList;
}
}
组成部分ts
import { StatusService } from './../../../../_services/status.service';
@Component({
selector: 'update-form',
templateUrl: './updateForm.html',
})
export class UpdateFormComponent implements OnInit {
public statusList: String[][];
public groupList: String[][];
constructor(private http: Http, fb: FormBuilder, protected service: UpdateUserService,
private statusService: StatusService,
protected router: Router,
private _location: Location,
) {}
ngOnInit() {
this.formService.myUser.filter(user => user !== null)
.subscribe(user => {
this.statusList = this.statusService.parseList(this.myUser.STATUS_LIST);
this.groupList = this.statusService.parseList(this.myUser.GROUP_LIST);
});
}
}
im获取的错误与服务和组件有关,由于某些原因,它无法读取数组以在服务中设置它
错误类型错误:无法读取属性'2'的未定义的状态ervice.push../src/app/_services/status.service.ts.状态ervice.parse列表(status.service.ts:39)在SafeSubcriber._next(updateForm.component.ts:162)在SafeS<--plhd--__tryOrUnsub(Subscriber.js:253)在SafeSubscriber.push.。/node_modules/rxjs/_esm5/内部/Subscriber.js.SafeSubscriber.next(Subscriber.js:191)在Subscriber.push.。/node_modules/rxjs/_esm5/内部/Subscriber.js.订阅者。_next(Subscriber.js:129)在Subscriber.push.。/node_modules/rxjs/_esm5/内部/Subscriber.js.Subscriber.next(Subscriber.js:93)在FilterSubscriber.push./node_modules/rxjs/_esm5/内部/操作员/filter. js。FilterSubcriber._next(filter. js: 85)在FilterSubcriber. ush.../node_modules/rxjs/_esm5/内部/订阅. js。下一步(订阅. js: 93)在行为主题。推.../node_modules/rxjs/_esm5/内部/主题。/node_modules/rxjs/_esm5/内部/行为主体。下一个问题
在typescript中,=
用于赋值,而不是指定类型。
当你这样做时:
this.parsedList = String[this.splitList.length/fieldCount][fieldCount]
正在尝试为此赋值的。parsedList
,但它失败了,因为没有名为字符串的变量(因为它是一种类型,而不是一个值)。
相反,由于数组在js/typescript中是动态调整大小的,因此您可以这样分配:
this.parsedList = [];
这将创建一个一维数组。然后在循环中,您可以执行以下操作:
for (let i = 0; i < this.splitList.length; i+=fieldCount) {
this.parsedList[i/fieldCount] = []; // Assign an array to make it a 2d array
for(let j = 0; j < fieldCount; j++)
this.parsedList[i/fieldCount][j] = this.splitList[i+j];
}
我通过jQuery ajax调用一个Web服务。在浏览器中检查时,从服务返回的响应似乎很好,如下所示: 当我通过jQueryAjax调用得到相同的结果时,它显示为未定义。 此处“数据”显示为对象文档, “cont”显示为未定义 当我试图提醒“jqxhr”参数时,它显示了来自web服务的所有数据,并且状态为OK。我在大多数帖子和博客上都试过了,但都找不到哪里出了问题。请帮忙。
您好,我正在使用。 }下面是各自的xml: 在适配器获取视图:公共视图getView(int位置,视图转换视图,ViewGroup父){ ImageLoader。从这里开始的Java 在从服务器加载映像之前,如何在中显示临时映像。
我不知道为什么自定义文章类型的自定义分类不显示在管理列中(它消失了)。 以下是始终有效的代码: 如下所述: https://codex.wordpress.org/Function_Reference/register_taxonomy 第二个参数设置为null,因为在使用register\u post\u type()时,我将分类法与自定义post类型相关联 我不知道为什么代码停止工作了。我从3
我正在尽我最大的努力,但我无法找到我的解决方案。 sugarcrm。尝试安装时,日志文件出现以下错误。 2017年11月1日星期三07:06:13[651035][无-][致命]创建表时出错:aos\u products\u quotes:查询失败:创建表aos\u products\u quotes(id char(36)不为NULL,名称文本NULL,date\u entered dateti
我按照这个指令创建了一个grpc服务器和客户端:https://docs . Microsoft . com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.0 当我尝试从客户端调用服务时,客户端会显示以下错误消息:“发生了一个或多个错误。(状态(StatusCode=Unknown,Detail=No Status re
所以,我有一个main活动,它有一个启动服务的按钮,MyService。我希望该服务显示带有自定义标题、文本、图标等的通知。该服务是一个前台服务。不是绑定服务。一切正常,但唯一的一点是关于我的通知是不断显示“点击获取更多信息”,点击它会引导我进入应用程序的设置页面。尽管我的主要活动是悬而未决的。 我想要的是有一个带有自定义标题、文本、图标和停止服务的操作的通知。 这是我的主要活动。java类 我的