如何在jQuery代码中使用angular定义的数组

时间:2018-08-03 20:12:29

标签: jquery angular

我如何使用我在角度组件类中定义的图像源数组,如何在jQuery中使用它? 这是代码

 constructor() { }

 public publicImages = [
   "./../../../assets/data-image/cafe1.jpg",
   "./../../../assets/data-image/cafe2.jpg",
   "./../../../assets/data-image/cafe3.jpg",
   "./../../../assets/data-image/cafe4.jpg"
]

 ngOnInit() {
   $(function (){
   'use strict';


  for(let i=0; i < this.publicImages.length;) {
    $('.place-img').attr('src', this.publicImages[i]);
    i = i + 1;
  }

所以我想做的就是将该数组绑定到视图,并使用该数组知道其长度,以使用jQuery创建下一个和上一个按钮

1 个答案:

答案 0 :(得分:1)

您正在制作老式的JS函数,因此“ this”不会引用您的类。 您必须使用箭头功能:

ngOnInit() {
$(() => {
  'use strict';


  for(let i=0; i < this.publicImages.length; i++) {
    $('.place-img').attr('src', this.publicImages[i]);
  }
}

或者您可以创建一个新变量,函数将以这种方式显示该变量:

ngOnInit() {
let scopedPublicImages = this.publicImages;
$(function() {
  'use strict';


  for(let i=0; i < scopedPublicImages.length; i++) {
    $('.place-img').attr('src', scopedPublicImages[i]);
  }
}