Я не могу получить несколько экземпляров виджета для работы. Если я не использую модуль в виджетах, я могу сделать несколько экземпляров. Если я использую несколько экземпляров этого в виджетах, будет работать только последний.Получение нескольких экземпляров виджета с модулем для работы в представлении
У меня есть этот 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 работает только последний экземпляр.
у меня есть своего рода обходной путь. Я отказался от виджета и просто создал js-библиотеку и поместил ее в каталог lib, который создает sliderView с дополнительным материалом и возвращает его таким образом. – kgividen