【问题标题】:Aurelia Ajax AutoComplete for jQuery用于 jQuery 的 Aurelia Ajax 自动完成功能
【发布时间】:2017-04-06 11:28:36
【问题描述】:

我正在尝试在我的 Aurelia 应用程序中为 jQuery 使用 Ajax AutoComplete。我无法访问通过自动完成选择的对象。 这是我的js代码。

this.questionPaperLookup = $('#question-paper-list').autocomplete({
  lookup: this.questionPaperLookupData,
  minChars : 0,
  onSelect: function (suggestion) {
    this.selectedQuestionPaper = suggestion.data;
  }
});

这里我根据自动完成的选择设置 selectedQuestionPaper。 并尝试从其 html 中访问此对象,如下所示:

<span id = "selected-question-paper" class="auto_text selected_batches">
            ${selectedQuestionPaper.name}
          </span>

但 selectedQuestionPaper 对象的 name 属性未显示在视图中。我不知道缺少任何必需的步骤。提前致谢

【问题讨论】:

    标签: jquery aurelia


    【解决方案1】:

    你必须使用箭头函数来获得词法this

    this.questionPaperLookup = $('#question-paper-list').autocomplete({
      lookup: this.questionPaperLookupData,
      minChars : 0,
      onSelect: (suggestion) => {
        this.selectedQuestionPaper = suggestion.data;
      }
    });
    

    【讨论】:

    • 使用箭头函数后问题依然存在
    • 在`this.selectedQuestionPaper =Suggestion.data;`前放一个调试器,看看有没有命中
    • 是的。我可以将对象属性打印到控制台 likeconsole.log(this.selectedQuestionPaper.name);它打印选定的试卷名称
    • 嗯,奇怪了……在select事件之后,你能确定viewModel的属性包含了想要的值吗?
    猜你喜欢
    • 1970-01-01
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多