2017-04-17 132 views
0

我試圖讓這段代碼工作,我新的打字稿和knockout.js我一直在以另一種方式做這段代碼,但有人告訴我這可能是一種更好的方式來改善現有的代碼,問題是,不工作,也許是一個錯字,但我沒有找到它。Typescript和Knockout.js

這是我的打字稿:

/// <reference path="../typings/index.d.ts" /> 

$(document).ready(function() { 
    ko.applyBindings(new ABMAlumnosModel()); 
}); 

class Alumno { 
    Legajo: KnockoutObservable<string>; 
    Nombre: KnockoutObservable<string>; 
    Apellido: KnockoutObservable<string>; 
    Dni: KnockoutObservable<number>; 
    Carrera: KnockoutObservable<string>; 
    Turno: KnockoutObservable<string>; 

    constructor(Legajo: string, Nombre: string, Apellido: string, Dni: number, Carrera: string, Turno: string) { 
     this.Nombre = ko.observable(Nombre); 
     this.Apellido = ko.observable(Apellido); 
     this.Legajo = ko.observable(Legajo); 
     this.Carrera = ko.observable(Carrera); 
     this.Turno = ko.observable(Turno); 
     this.Dni = ko.observable(Dni); 
    } 
} 


var ABMAlumnosModel = function() { 
    this.alumno = new Alumno('sdsdf', 'dsfdsf', 'sdfsdf', 0, 'dsfdsf', 'sdfsdfsd'); 
} 

這是我CSHTML:

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>ABM_Alumnos</title> 
    <script src="~/bower_components/jquery/dist/jquery.js"></script> 
    <script src="~/bower_components/knockout/dist/knockout.js"></script> 
    <script src="~/Scripts/ABM_Alumnos.js"></script> 
    <link href="~/Style/ABM_Alumnos.css" rel="stylesheet" /> 
</head> 
<body> 
    <div class="titulo"> 
     <bold><p>ABM Alumnos del Instituo ESBA</p></bold> 
    </div> 

    <div> 
     <form> 

      <div class="float-left c-input-wrapper"> 
       <p>Nombre: </p><input type="text" data-bind="text: alumno.Nombre"/> 
       <p>Legajo: </p><input type="text" data-bind="text: alumno.Legajo"/> 
       <p>Carrera: </p> <select id="alumno.Carreras"></select> 
      </div> 

      <div class="float-left t-input-wrapper"> 
       <p>Apellido: </p><input type="text" data-bind="text: alumno.Apellido"/> 
       <p>Dni: </p><input type="text" data-bind="text: alumno.Dni" /> 
       <p>Turno: </p> <select id="alumno.Turnos"></select> 
      </div> 

      <div class="clear"></div> 

      @*<div id="Agregar"> 
       <button data-bind="click: GetTurnos">Agregar</button> 
      </div>*@ 



     </form> 
    </div> 
</body> 
</html> 

我記得做了可觀的內部模型而不是調用構造函數,但我的感覺是一樣的。事情是,輸入文本沒有被我填充的數據,當我實例對象Alumno

我試圖找到一些信息到淘汰賽教程和不同的打字稿頁面。也許我不正確地綁定數據。

+0

對於downvoted的人,請給出一個理由,以便我可以改善問題,謝謝。 – Nickso

回答

0

好的我發現了這個問題,它非常簡單,但是誠實地通過我的雷達。問題出在我的html上,寫在這個輸入上的正確屬性是value而不是text,我正在做另一個教程,我必須綁定<p>標籤上的數據,那就是text