2017-01-16 4 views
0

Я пытаюсь использовать инструкцию document.createelement в TypeScript, но до сих пор я мог найти способ решить эту проблему - есть способ создать эту функцию.Angular 2 CreateElement

это компонент

import {Component,ViewChild, ElementRef} from '@angular/core'; 
@Component({ 

selector: 'my-Calc', 
    templateUrl:'./app/Calculator/calculator.component.html' 
}) 
export class Calculator{ 
    tablerow:[1,2,3]; 
    calcItems :[1,2,3,4,5,6,7,8,9]; 
} 

это мой HTML шаблон

<div> 
    <table *ngFor="let tRow of tablerow"> 
<tr *ngFor=" let tItems of tablerow"> 
    {{tRow}}<td >{{tItems}}</td> 
</tr> 
    </table> 
</div> 

Я хочу, чтобы создать элемент кнопки в каждом поле таблицы я создал , кстати, это не полный код и спасибо за помощь

+0

Пожалуйста, покажите нам, что код, который вы уже пробовали, опишите, что проблема на самом деле вы пытаетесь решить, а также сообщение об ошибке, что вы видите. –

ответ

1

forloop на его ТД и т.р. элементов

<div style="border: outset; width:100px"> 
    <input type="text" #InputTxt style="width: 95px;"> 
    <br/> 
    <table #Table style="border:solid black 2px;"> 
    <tr *ngFor="let row of columnNums"> 
     <td *ngFor="let col of row" style="border:solid black 2px;"><input style="width: inherit;" type="button" (click)="Usednumber($event)" value="{{col}}"></td> 
    </tr> 
    </table> 
</div> 

в компоненте:

columnNums = [[1, 2, 3], [4, 5, 6], [7, 8, 9], ['+', 0, '/'], ['=', '-', '*']]; 

& внутри функции:

let v = e.toElement.defaultValue; 
    this.inputTxt.nativeElement.value += v; 

    if (v != '=') { 
     if (v == '*' || v == '+' || v == '/' || v == '-') { 
     this.op = v; 
     this.inputTxt.nativeElement.value = ''; 
     } 
     else { 
     if (this.op) { 
      this.num2 = this.inputTxt.nativeElement.value; 
     } 
     else { 
      this.num1 = this.inputTxt.nativeElement.value; 
     } 
     } 
    } 

    else if (v == "=") { 
     this.op2=v; 
     this.calculate(); 

И это лучшая идея у меня есть для решения такой задачи

1

Ошибка синтаксиса «document.createelement» «E» Должна быть заглавная буква.

правильно:

<div> 
     <table *ngFor="let tRow of tablerow"> 
     <tr *ngFor=" let tItems of tablerow">< 
      {{tRow}}<td ><form><input type=submit value="click me"></form>{{tItems}}</td> 
     </tr> 
     </table> 
</div> 
+0

спасибо, но это javascript, ищем машинописные тексты –

+0

'E' все равно должен быть заглавный. TS является надмножеством JS. –

+0

Если вы покажете код. Мы можем вам помочь, потому что мы не можем видеть, где вы используете 'document.createElement()' –