Aurelia JS - 迭代通过子(kendo UI)元素?

时间:2017-02-17 15:04:24

标签: javascript aurelia

考虑这里给出的基本例子:

...也可以在gist.run上找到:

app.html中,有几个滑块构造为input class="eqSlider",如下所示:

        <input repeat.for="value of equalizerSliderValues"
               ak-slider="k-orientation: vertical;
                                k-min.bind: -20;
                                k-max.bind: 20;
                                k-value.bind: value;
                                k-small-step.bind: 1;
                                k-large-step.bind: 20;
                                k-show-buttons.bind: false" class="eqSlider"/>

我想要的是,我添加attached()方法,并遍历所有这些类eqSlider的滑块,通过console.log()打印出来,然后调用{{1}每个方法都有方法(http://docs.telerik.com/kendo-ui/api/javascript/ui/slider#methods-resize)。

  • 我可以在没有resize()的情况下执行此操作 - 如果是这样,怎么做?
  • 如果没有,我如何使用jquery(因为jquery示例使用它)?我尝试添加:
    import * as $ from 'jquery';

... docs.telerik.com示例中的app.js顶部,但它失败了:

gist.run

2 个答案:

答案 0 :(得分:2)

import java.util.Scanner;

public class Stack{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        double[] d = new double[n];
    }
}

以下是通过仅搜索元素而不是整个文档来说明如何执行此操作的要点:

https://gist.run/?id=debb0337a00d5ef063048fce62a691cf

答案 1 :(得分:2)

作为杰夫提出的建议的替代方案,您也可以使用this trick

基本上,您可以定义一个滑块数组,其中初始widget属性为null:

sliders = [{
  value: 10,
  widget: null
}, {
  value: 20,
  widget: null
}]

然后,使用repeat.for迭代此数组,您可以将k-widget绑定到每个滑块的widget属性。

<input repeat.for="slider of sliders"
       ak-slider="k-value.bind: slider.value;
                  k-widget.bind: slider.widget"/>

在初始化所有滑块之后,最终得到一组滑块,其中widget属性是Kendo控件实例。

通过在此阵列上使用.map函数,您可以获得所有Kendo滑块小部件的数组:var sliders = this.sliders.map(x => x.widget);

由于在执行attached()后无法使用k-widget值,如here所述,您可以使用TaskQueue从attach()执行您想要执行的操作。