2017-05-12 34 views
39

मैं एक कोणीय परियोजना में एक सीमा स्लाइडर का उपयोग करना चाहते हैं और मैं कोणीय 4.कोणीय 4 के साथ jQuery प्लगइन का उपयोग कैसे करें?

यह संकलन के दौरान ठीक काम करता है लेकिन जब मैं तैनाती के लिए इसे बनाने की कोशिश करते हैं, यह नीचे त्रुटि फेंकता के लिए एक ही उपलब्ध मॉड्यूल उपयोग करने की कोशिश।

enter image description here

मैं jQuery प्लगइन सीधे का उपयोग कर कोणीय परियोजना में करने का विकल्प के लिए जाँच की और मैं केवल कोणीय 2.

में यह कर के लिए विकल्प हो रही है वहाँ किसी भी तरह से हम jQuery प्लगइन का उपयोग कर सकते हैं कोणीय 4 में?

कृपया मुझे बताएं।

अग्रिम धन्यवाद!

+1

एक घटक में लपेट: https://hackernoon.com/wrap-any-jquery-plugin-with-angular-2-component-case-study-8b00eacec998 NG2 और से NG4 के बीच कोई अंतर नहीं है यह परिप्रेक्ष्य –

उत्तर

83

हाँ आप कोणीय 4

कदम के साथ jQuery का उपयोग कर सकते हैं:

1) index.html में टैग में रेखा के नीचे डाल दिया।

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

2) घटक ts फ़ाइल में नीचे आप इस

import { Component } from '@angular/core'; 
declare var jquery:any; 
declare var $ :any; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 
    title = 'abgular 4 with jquery'; 
    toggleTitle(){ 
    $('.title').slideToggle(); // 
    } 

} 

की तरह वर की घोषणा और इस तरह html फ़ाइल इसी के लिए इस कोड का उपयोग करने के लिए है:

<h1 class="title" style="display:none"> 
    {{title}} 
</h1> 
<button (click)="toggleTitle()"> clickhere</button> 

हो जाएगा ताकि आप के लिए काम करता हूं। धन्यवाद

+0

यह काम किया !! आप jquery-ui जैसे विस्तारित प्लगइन का उपयोग कैसे करेंगे? – Tushar

+0

हल हो गया: एनपीएम स्थापित jquery && typings install dt ~ jquery --global --save – Johannes

+0

@ जोहान्स टाइपिंग के लिए टाइपस्क्रिप्ट दस्तावेज़ों का संदर्भ लें http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html, http : //microsoft.github.io/TypeSearch/ –

130

NPM साथ jQuery स्थापित

npm install jquery --save 

typings

जोड़े
npm install --save-dev @types/jquery 

कोणीय cli.json

"apps": [{ 
    ... 
    "scripts": [ 
    "../node_modules/jquery/dist/jquery.min.js", 
    ], 
    ... 
}] 

बिल्ड परियोजना के लिए स्क्रिप्ट जोड़ें और की सेवा

ng build 

आशा है कि इससे मदद मिलती है! कोडिंग

+6

के लिए कोड पूर्ण करने के लिए इसे 'JQueryStatic' या' JQueryStatic 'के रूप में घोषित करने का प्रयास करें,' var jquery घोषित करें: कोई भी नहीं; विभिन्न $ घोषित करें: कोई भी; आपकी .ts फ़ाइल में। – Norx

+7

@ नॉरक्स निर्देशों में उन प्रकारों को स्थापित करना शामिल है जिसका अर्थ है कि आपकी लाइनों की आवश्यकता नहीं है। – salbahra

+1

जब मैं ऐसा करता हूं तो मुझे बिल्ड त्रुटियां मिल रही हैं। मेरे पास jquery 3.2.1 प्रकारों के साथ स्थापित है, इसलिए यह मुझे कोड में त्रुटियां नहीं देता है, लेकिन मुझे अभी भी त्रुटियों की त्रुटियां मिलती हैं: 'नाम नहीं मिल रहा है' $ '' – Grungondola

0

तुम इतनी

npm install --save @types/[email protected] 

मैं इस एक ही त्रुटि थी की तरह अपने jQuery typings संस्करण को अद्यतन कर सकते हैं और मैं पर किया गया है का आनंद लें, तो 5 दिनों नेट सर्फिंग के लिए एक solution.it मुझे और इसके लिए काम किया आपके लिए काम करना चाहिए

17

आपको किसी भी jQuery चर को घोषित करने की आवश्यकता नहीं है क्योंकि आपने @ प्रकार/jquery इंस्टॉल किया है।

declare var jquery:any; // not required 
declare var $ :any; // not required 

आपको हर जगह jQuery तक पहुंच प्राप्त करनी चाहिए।

निम्नलिखित काम करना चाहिए:

jQuery('.title').slideToggle(); 
+0

यह मुझे बचाया! धन्यवाद – Rexford

+0

मेरे लिए काम नहीं कर रहा है! –

4

इस प्रयास करें:

import * as $ from 'jquery/dist/jquery.min.js'; 

या कोणीय cli.json पर ऐसी स्क्रिप्ट जोड़ें:

"scripts": [ 
    "../node_modules/jquery/dist/jquery.min.js", 
    ] 

और अपने .ts फ़ाइल में:

declare var $: any; 
9

jQuery NPM का उपयोग कर Jquery NPM

npm install jquery 

jQuery घोषणा फ़ाइल स्थापित

npm install -D @types/jquery 

आयात jQuery के अंदर .ts

import * as $ from 'jquery'; 

वर्ग के भीतर कॉल स्थापित

export class JqueryComponent implements OnInit { 

constructor() { 
} 

ngOnInit() { 
    $(window).click(function() { 
     alert('ok'); 
     }); 
    } 

} 
-2
ngOnInit() { 
    const $ = window["$"]; 
    $('.flexslider').flexslider({ 
     animation: 'slide', 
     start: function (slider) { 
      $('body').removeClass('loading') 
     } 
    }) 
} 
संबंधित मुद्दे