1

ウィジェットの複数のインスタンスを動作させることができません。ウィジェットでモジュールを使用しない場合、複数のインスタンスを実行できます。ウィジェットで複数のインスタンスを使用すると、最後のインスタンスのみが機能します。

私はこのwidget.xmlを持っています

<Alloy>
  <View id="container" class="container"></View>
</Alloy>

この widget.js

var args = arguments[0] || {};
var TiCircularSlider = require('de.marcelpociot.circularslider');
var lw = _.has(args, 'height') ? args.height*.05 : 5;
Ti.API.info("args: " + JSON.stringify(args));
var sliderView = TiCircularSlider.createView({
    top:_.has(args, 'top') ? args.top : 10,
    height: _.has(args, 'height') ? args.height : 100,
    width: _.has(args, 'width') ? args.width : 100,
    lineWidth: lw,
    filledColor: _.has(args, 'filledColor') ? args.filledColor : "blue",
    unfilledColor: _.has(args, 'unfilledColor') ? args.unfilledColor : "gray",
});

sliderView.addEventListener('change',function(e){
    Ti.API.info("e.value in sliderView event listener: " + e.value);
});
$.container.add(sliderView);

XMLで呼び出すと:

<Alloy>
    <Window id="win" backgroundColor="white">
    <View id="container" class="container">
            <Widget id="btn" top="100" src="btnCircularSlider"/>
            <Widget id="btn2" top="200" src="btnCircularSlider"/>
            <Widget id="btn3" top="300" src="btnCircularSlider"/>
        </View>
    </Window>
</Alloy>

または Alloy.createWidget を使用するコードを介して、最後のインスタンスのみが機能します。 最後の 1 つだけが機能します

4

1 に答える 1