Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么我的数组没有定义?_Javascript_Arrays_Angular - Fatal编程技术网

Javascript 为什么我的数组没有定义?

Javascript 为什么我的数组没有定义?,javascript,arrays,angular,Javascript,Arrays,Angular,嘿,伙计们,我有点麻烦了。 我有一个对象数组和两个函数,但其中一个数组是未定义的。 因此,我的职能如下: getTarget() saveChanges() addUser() 绘图台() 恩戈尼尼特() 我正在尝试console.log在所有这些函数中记录我的数组,除了getTarget()函数,一切都正常!它只是将未定义的记录到控制台中,而其他函数的输出类似于(2)[对象,对象] 为什么阵列不可访问或出现了什么问题 这是我的应用程序代码: import {Component, OnIn

嘿,伙计们,我有点麻烦了。 我有一个对象数组和两个函数,但其中一个数组是未定义的。 因此,我的职能如下:

  • getTarget()
  • saveChanges()
  • addUser()
  • 绘图台()
  • 恩戈尼尼特() 我正在尝试
    console.log
    在所有这些函数中记录我的数组,除了
    getTarget()
    函数,一切都正常!它只是将未定义的
    记录到控制台中,而其他函数的输出类似于
    (2)[对象,对象]
    为什么阵列不可访问或出现了什么问题
这是我的应用程序代码:

 import {Component, OnInit} from '@angular/core';

var ID:number;

export class entity {
    id:number;
    name:string;
    lName:string;
}


let USERS: entity[] = [
    {id: 0, name: 'Jon Smith', lName: 'Last Name'},
    {id: 1, name: 'qwe asd', lName: '123'}
];

@Component({
    selector: 'my-app',
    templateUrl: './template.html',
})

export class AppComponent implements OnInit{
    name = 'Angular';
    Users = USERS;

    /*deleteUser () {
        console.log(ID);
        delete this.Users[ID];
        this.drawTable();
    }*/
    getTarget() {
        let Target = event.target;
        let id = $(<HTMLButtonElement>Target).parent().parent().attr('id');
        console.log('номер',id);
        console.log(this.Users);
        ID = parseInt(id);
        //console.log($(<HTMLButtonElement>Target).text());
            if ($(<HTMLButtonElement>Target).text()=='Удалить'){
                /*this.Users = this.Users.slice(ID,1);
                this.drawTable();*/
                console.log(this.Users);
            }
    }
    saveChanges(id:number) {
        id = ID;
        $(<HTMLButtonElement>event.target).attr('data-dismiss', 'modal'); //Закрыть модальное окно
        $('#editErrorMessage').attr('style','visibility:hidden');//сделать сообщение об ошибке невидимым
            if (($('#editNameInput').val() != '' ) && ($('#editLNameInput').val()!='')) {
                this.Users[id].name = $('#editNameInput').val();//сохранить новые значения
                this.Users[id].lName = $('#editLNameInput').val();
                $('#editNameInput').val('');//очистить
                $('#editLNameInput').val('');//инпуты
                this.drawTable();
            }
            else {
                $(<HTMLButtonElement>event.target).removeAttr('data-dismiss');// не  закрывать модальное окно
                $('#editErrorMessage').removeAttr('style');//сообщение снова видно
            }
    }
    addUser() {
        $(<HTMLButtonElement>event.target).attr('data-dismiss', 'modal'); //Закрыть модальное окно
        $('#addErrorMessage').attr('style','visibility:hidden');//сделать сообщение об ошибке невидимым
        if (($('#addNameInput').val() != '' ) && ($('#addLNameInput').val() != '' ))
        {
            let tempObj:entity = {id: this.Users.length, name: $('#addNameInput').val(), lName: $('#addLNameInput').val()};
            this.Users.push(tempObj);
            $('#addNameInput').val('');
            $('#addLNameInput').val('');
            this.drawTable();
        }
        else {
            $(<HTMLButtonElement>event.target).removeAttr('data-dismiss');// не  закрывать модальное окно
            $('#addErrorMessage').removeAttr('style');//сообщение снова видно
        }
    }
    drawTable() {
        console.log('drawing', this.Users);
        let Table = $('table');
        let tBody = $('tbody');
        console.log(this.Users.length);
        tBody.empty();
        //элементы таблицы
            /*for (let rowIndex = 0; rowIndex == this.Users.length - 1; rowIndex++) {
                console.log(rowIndex);
                console.log(this.Users[rowIndex]);
                row.dataset.id = this.Users[rowIndex].id.toString(); // установить id строки
                    cell.innerHTML = this.Users[rowIndex].id.toString(); // текст внутри ячейки
                row.appendChild(cell); // добавить ячейку в ряд
                    cell.innerHTML = this.Users[rowIndex].name;
                row.appendChild(cell);
                    cell.innerHTML = this.Users[rowIndex].lName;
                row.appendChild(cell);
                    cell.innerHTML = ''; // убрать текст из ячейки
                        editButton.className = 'crud__DeleteEditButton form-control'; //настройка кнопки изменения
                        editButton.setAttribute('data-toggle', 'modal');
                        editButton.setAttribute('data-target', '#editModal');
                        editButton.setAttribute('onclick','getTarget()');
                        editButton.innerHTML = 'Изменить';
                    cell.appendChild(editButton); // добавить кнопку в ячейку
                row.appendChild(cell);
                        deleteButton.className = 'crud__DeleteEditButton form-control'; //настройка кнопки удаления
                        deleteButton.setAttribute('onclick','deleteUser()');
                        deleteButton.innerHTML = 'Удалить';
                    cell.appendChild(deleteButton);
                tBody.appendChild(row); //добавить строку в таблицу
            };*/
            for (let item of this.Users){
                console.log('start');
                let row = document.createElement('tr');
                let cells = [];
                let editButton = document.createElement('button');
                let deleteButton = document.createElement('button');
                    row.setAttribute('id',item.id.toString()) // установить id строки
                let cell1 = document.createElement('th');
                    cell1.innerHTML = item.toString(); // текст внутри ячейки
                    cells.push(cell1);
                console.log(cells);
                let cell2 = document.createElement('th');
                    cell2.innerHTML = item.name;
                    cells.push(cell2);
                console.log(cells);
                let cell3 = document.createElement('th');
                    cell3.innerHTML = item.lName;
                    cells.push(cell3);
                console.log(cells);
                    editButton.className = 'crud__DeleteEditButton form-control'; //настройка кнопки изменения
                    editButton.setAttribute('data-toggle', 'modal');
                    editButton.setAttribute('data-target', '#editModal');
                    editButton.innerHTML = 'Изменить';
                let cell4 = document.createElement('th');
                    cell4.appendChild(editButton);
                    cells.push(cell4);
                console.log(cells);
                    deleteButton.className = 'crud__DeleteEditButton form-control'; //настройка кнопки удаления
                    //deleteButton.addEventListener('click',this.deleteUser,false)
                    deleteButton.innerHTML = 'Удалить';
                let cell5 = document.createElement('th');
                    cell5.appendChild(deleteButton);
                    cells.push(cell5);
                console.log(cells);
                    for (let tempCell of cells){
                         console.log('appending');
                         row.appendChild(tempCell);
                     }
                    row.addEventListener('click',this.getTarget,false)
                    tBody.append(row); //добавить строку в таблицу
            }
            Table.append(tBody); // добавить тело к таблице
            console.log('drawing done');
    }
    ngOnInit ():void {
        this.drawTable();
    }
}
从'@angular/core'导入{Component,OnInit};
var-ID:number;
导出类实体{
id:编号;
名称:字符串;
lName:字符串;
}
允许用户:实体[]=[
{id:0,名称:'Jon Smith',lName:'Last name'},
{id:1,名称:'qwe asd',lName:'123'}
];
@组成部分({
选择器:“我的应用程序”,
templateUrl:“./template.html”,
})
导出类AppComponent实现OnInit{
名称='角度';
用户=用户;
/*删除用户(){
console.log(ID);
删除此。用户[ID];
这个.drawTable();
}*/
getTarget(){
让Target=event.Target;
让id=$(Target.parent().parent().attr('id');
控制台日志(id为);
console.log(this.Users);
ID=parseInt(ID);
//log($(Target.text());
如果($(目标).text()='Уааааа'){
/*this.Users=this.Users.slice(ID,1);
这个.drawTable()*/
console.log(this.Users);
}
}
保存更改(id:编号){
id=id;
$(event.target).attr('data-disease','modal');//
$('editErrorMessage').attr('style','visibility:hidden');//
如果($('editNameInput').val()!='')和($('editNameInput').val()!=''){
this.Users[id].name=$('editNameInput').val()//
this.Users[id].lName=$('#editLNameInput').val();
$('editNameInput').val('')///
$('editLNameInput').val('')//
这个.drawTable();
}
否则{
$(event.target).removeAttr('data-disease');//
$('editErrorMessage').removeAttr('style');//
}
}
addUser(){
$(event.target).attr('data-disease','modal');//
$('addErrorMessage').attr('style','visibility:hidden');//
如果($('addNameInput').val()!='')和($('addNameInput').val()!='')
{
让tempObj:entity={id:this.Users.length,name:$('addNameInput').val(),lName:$('addNameInput').val();
this.Users.push(tempObj);
$('#addNameInput').val('');
$('#addLNameInput').val('');
这个.drawTable();
}
否则{
$(event.target).removeAttr('data-disease');//
$(“#addErrorMessage”).removeAttr('style');//бббббббб
}
}
绘图台(){
console.log('drawing',this.Users);
let Table=$('Table');
设tBody=$('tBody');
console.log(this.Users.length);
tBody.empty();
//элементы таблицы
/*for(让rowIndex=0;rowIndex==this.Users.length-1;rowIndex++){
console.log(rowIndex);
console.log(this.Users[rowIndex]);
row.dataset.id=this.Users[rowIndex].id.toString();//
cell.innerHTML=this.Users[rowIndex].id.toString();//
行。附加子项(单元格);//
cell.innerHTML=this.Users[rowIndex].name;
子行(单元格);
cell.innerHTML=this.Users[rowIndex].lName;
子行(单元格);
cell.innerHTML=“”;//
editButton.className='crud__DeleteEditButton表单控件';//
setAttribute('data-toggle','modal');
setAttribute('data-target','#editmodel');
setAttribute('onclick','getTarget()');
editButton.innerHTML='imk 9зззззззз;
cell.appendChild(编辑按钮);//
子行(单元格);
deleteButton.className='crud__DeleteEditButton表单控件';//
setAttribute('onclick','deleteUser()');
deleteButton.innerHTML='Уааааа';
cell.appendChild(deleteButton);
t正文.附录儿童(世界其他地区);//ббббббббббб
};*/
for(让此.Users的项){
console.log('start');
让row=document.createElement('tr');
let cells=[];
让editButton=document.createElement('button');
让deleteButton=document.createElement('button');
row.setAttribute('id',item.id.toString())//
设cell1=document.createElement('th');
row.addEventListener('click',this.getTarget,false)
row.addEventListener('click',this.getTarget.bind(this),false)
row.addEventListener('click', () => this.getTarget(),false)