将 jQuery 更改为 ionic

Posted

技术标签:

【中文标题】将 jQuery 更改为 ionic【英文标题】:Changing jQuery to ionic 【发布时间】:2018-05-05 15:37:52 【问题描述】:

所以我最初有这段 jQuery 代码,工作得非常好:

<input type="text" value="name-var"/>

$("input").keydown(function(e) 
    var oldvalue=$(this).val();
    var field=this;
    setTimeout(function () 
        if(field.value.indexOf('name-var') !== 0) 
            $(field).val(oldvalue);
         
    , 1);
);

我的任务是用 ionic angular 编写这段代码,由于我在这方面非常非常陌生,所以我遇到了一些麻烦。这是我到目前为止所拥有的:

 @Page(
      template: `
        <ion-content>
           <input 
              #orderCommentInput 
              (ngModelChange)="check()" 
              type="text" 
              [(ngModel)]="comment"
            />
         </ion-content>
      `  
    )

  class Page1 
      @ViewChild('orderCommentInput') orderCommentInput;
      name = "123sdfgfhd4";
      comment = '' + this.name
      check() 
        orderCommentInput.addEventListener("keydown"(function(e)
          var oldvalue = this.name.val();
          var field=this;
          setTimeout(function()
            if(field.value.indexOf('name') ! == 0) 
              field.val(oldvalue)
            
          , 1)
        )

        console.log(this.comment, this.orderCommentInput)
      

谁能解释我在将它从 jQuery 转移到 ionic 时做错了什么?如果这看起来很简单或者我在做一些愚蠢的事情,我很抱歉,我很新,只是要求一些解释。

【问题讨论】:

【参考方案1】:

使用&lt;input&gt; 使用&lt;ion-input (keydown)='change()'&gt;。我猜您正在尝试更改其他一些输入值,所以我要做的是在该输入上设置一个 [(ngModel)],然后在 change 方法中修改它的值,如下所示:

class Page1 
  @ViewChild('orderCommentInput') orderCommentInput;
  changedValue: String = '';
  name = "123sdfgfhd4";
  comment = '' + this.name
  check() 
      setTimeout(function()
        //I don't know what you need the timer for
        this.changedValue = this.name
      , 1)

    console.log(this.comment, this.changedValue)
  

  @Page(
  template: `
    <ion-content>
       <ion-input 
          #orderCommentInput 
          (keydown)="check()" 
          type="text" 
          [(ngModel)]="comment"
        />
        <ion-input  
          type="text" 
          [(ngModel)]="changedValue"
        />

     </ion-content>
  `  
)

【讨论】:

以上是关于将 jQuery 更改为 ionic的主要内容,如果未能解决你的问题,请参考以下文章

jquery tokenInput如何将ajax调用url动态更改为脚本

将异步 jQuery Dialog 更改为同步?

Ionic 3应用程序将iOS状态栏字体颜色更改为白色

jquery css将输入大纲更改为无

Cordova + Ionic 框架 - 如何安全地更改包名称?

如何将jquery mmenu更改为从右侧打开? [关闭]