【问题标题】:ngModel default value setting doesnt receive info from modelngModel 默认值设置不接收来自模型的信息
【发布时间】:2019-06-18 01:43:40
【问题描述】:

我有一个表单,我想设置一些默认值以显示在其中。我试过以下代码:

 <h3>ِStart Time</h3>
    <div class="row" >
      <div class="col">
        <label for="startTime">Hour(s) </label>
        <input type="number" [ngModel]="defaultSTime" class="form-control" name="StartTimeHour" value="card.startTime.getHours" id="startTime" min="0" max="23">
     </div>
        <div class="col">
            <label for="startTime">Minute(s) </label>
            <input type="number" [ngModel]= "defaultSMinute" class="form-control" name="StartTimeMin" value="card.startTime.getMinutes" id="startTime" min="0"max="59"> <!--input type can be changed accordingly-->
      </div>
    </div>


  defaultSTime = 'card.startTime.getHours' ;
  defaultSMinute = 'card.startTime.getMinutes';

这应该可以工作,但它只显示空框。问题出在哪里?

【问题讨论】:

    标签: html css angular typescript


    【解决方案1】:

    不确定这是否是问题,但根据您对 defaultSTime 和 defaultSMinute 的定义,它们是字符串,而您的输入被定义为数字类型。

    如果您尝试从卡片对象 card.startTime.getHours 中获取数字,请将您的定义更改为:

    defaultSTime = card.startTime.getHours;
    defaultSMinute = card.startTime.getMinutes;
    

    【讨论】:

    • 但是当我写 this.card 时,这给了我一个错误。 ....我也没有展示任何东西
    【解决方案2】:

    这会对你有所帮助:

    [

    另外,要使其双向绑定,请为 ngModel 保留香蕉盒,即:

    [(ngModel)]= "defaultSMinute"
    

    在那里,你的 cmets 不太清楚 - 你是如何构造 Card 对象的,但我相信你错过了以下内容:

    getHours() ; // these are functions of date not properties
    

    【讨论】:

    • 开始时间的形式是 date: new Date(2019, 6, 1,13,30) ,我也把它做成了 2 方式绑定,但它不起作用。加上当我使用它时。 ...它给出了一个编译错误
    • 你能添加sn-p吗,你在哪里以及如何定义这个日期
    • someting = [ new CardModel('5',new Duration(1, 0), new LessonModel('#6291E1', 'Math'), 'just the first part', true,true,new Date(2019, 6, 2,13,30),new Date(2019, 6, 2),false,false)]
    猜你喜欢
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多