2016-09-06 8 views
5

मैं jQuery सीमा स्लाइडर विजेट है कि मैं आयात और इस तरह का उपयोग करें:कोणीय 2 वेबपैक ऐप में jquery ui टच पंच कैसे आयात करें?

declare var jQuery: any; 

import 'jquery-ui/ui/widgets/slider'; 
import 'jquery-ui/ui/widgets/mouse'; 

और इस तरह इसका इस्तेमाल:

jQuery(this.elementRef.nativeElement).find('#range-slider').slider({..}); 

मेरे स्लाइडर ठीक काम करता है।

समस्या

कि मैं मोबाइल टच सक्षम स्लाइडर की जरूरत है, इसलिए मैं आयातित jQuery यूआई टच पंच:

TypeError: Cannot read property 'prototype' of undefined 

जाहिर है यह नहीं मिल सकता है:

declare var jQuery: any; 

import 'jquery-ui/ui/widgets/slider'; 
import 'jquery-ui/ui/widgets/mouse'; 
import 'jquery-ui-touch-punch'; 

लेकिन इसमें त्रुटियां jQuery और jQuery यूआई। लेकिन जब आयातित jQuery वैश्विक दायरे पर नहीं है तो मैं पंच को छूने के लिए jQuery कैसे पास करूं?

मैं अपने प्रोजेक्ट के लिए this बॉयलरप्लेट का उपयोग करता हूं।

+0

इस के साथ कोई भाग्य? मैं अभी इस के साथ संघर्ष कर रहा हूं ... –

+0

दुर्भाग्यवश नहीं, मैं http://ionden.com/a/plugins/ion.rangeslider/ का उपयोग करके समाप्त हुआ जो इसके बजाय मोबाइल टच इवेंट का समर्थन करता है। – Chyngyz

उत्तर

1

यह मेरे लिए (स्लाइडर के बजाय sortable लेकिन एक ही विचार) काम किया:

import * as $ from 'jquery'; 
import 'jquery-ui/ui/widgets/sortable'; 

(window as any).jQuery = $; 
require('jquery-ui-touch-punch'); 

आयात के बजाय की आवश्यकता होती है अंत में महत्वपूर्ण है। यदि आप आयात का उपयोग करते हैं तो विंडो पर jQuery ग्लोबल सेट करने वाला कोड टच पंच आयात के बाद तक नहीं चलेगा क्योंकि आयात अन्य सभी से पहले चलाया जाता है।

संबंधित मुद्दे