2016-07-24 3 views
0

Я пытаюсь мигрировать угловой js в angularjs2 с машинописным текстом.Как использовать js-библиотеку с jquery на angular2 (машинописный текст)?

Не могу понять, как использовать библиотеку js. У меня есть главный app.component, где я хочу инициализировать некоторые библиотеки, например простую строку:

$('#home').height($(window).height()); 

и инициализации по attribute data-spy="scroll" data-target="#header-navbar" data-offset="51"

Index.html

<body data-spy="scroll" data-target="#header-navbar" data-offset="51" class="pace-done"> 

    <pm-app>Loading App...</pm-app> 


    <!-- ================== BEGIN BASE JS ================== --> 
    <script src="assets/plugins/jquery/jquery-1.9.1.min.js"></script> 
    <script src="assets/plugins/jquery/jquery-migrate-1.1.0.min.js"></script> 
    <script src="assets/plugins/bootstrap/js/bootstrap.min.js"></script> 
    <!--[if lt IE 9]> 
     <script src="assets/crossbrowserjs/html5shiv.js"></script> 
     <script src="assets/crossbrowserjs/respond.min.js"></script> 
     <script src="assets/crossbrowserjs/excanvas.min.js"></script> 
    <![endif]--> 
    <script src="assets/plugins/jquery-cookie/jquery.cookie.js"></script> 
    <script src="assets/plugins/scrollMonitor/scrollMonitor.js"></script> 
<script src="assets/js/landing-apps.js"></script> 

    <!-- ================== BEGIN BASE JS ================== --> 
     <script src="assets/plugins/pace/pace.min.js"></script> 
    <!-- ================== END BASE JS ================== --> 
<!-- ================== END BASE JS ================== --> 
    <!-- 1. Load libraries --> 
    <!-- IE required polyfills, in this exact order --> 
    <script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js"></script> 
    <script src="node_modules/es6-shim/es6-shim.min.js"></script> 
    <script src="node_modules/systemjs/dist/system-polyfills.js"></script> 
    <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script> 

    <script src="node_modules/systemjs/dist/system.src.js"></script> 
    <script src="node_modules/rxjs/bundles/Rx.js"></script> 
    <script src="node_modules/angular2/bundles/angular2.dev.js"></script> 


    <!-- Required for http --> 
    <script src="node_modules/angular2/bundles/http.dev.js"></script> 

    <!-- Required for routing --> 
    <script src="node_modules/angular2/bundles/router.dev.js"></script> 

    <!-- 2. Configure SystemJS --> 
    <script> 
     System.config({ 
      packages: { 
       app: { 
        format: 'register', 
        defaultExtension: 'js' 
       } 
      } 
     }); 
     System.import('app/main') 
      .then(null, console.error.bind(console)); 
    </script> 

</body> 

общего main.ts

import { bootstrap } from 'angular2/platform/browser'; 

// Our main component 
import { AppComponent } from './app.component'; 

bootstrap(AppComponent); 

и пустой app.component.

+0

просто поместите свою логику в конструктор вашего класса. Вы еще пробовали? и 'declare var $ = any' –

+0

JQuery Не видел элемент html. Что объявляет var? Как это использовать? – Mediator

ответ

1

Для того, чтобы использовать JQuery вы, во-первых, вы должны импортировать в index.html, , чем вы можете инициализировать свой код в конструкторе компонента

constructor(){ 
    ..... 
    $('#home').height($(window).height()); 
} 

в случае IDE показывает ошибку, чем вы можете объявить $ любого типа в верхней части класса, как это: -

...some code here 
declare var $ : any; 

export class App{ 
..///code goes here 
} 

Смотри также может помочь вам

+0

Отлично! По-прежнему не понимаю, где write объявить var $: any; , Я использую VS 2015 – Mediator

+0

, который вы можете написать в верхней части класса. @Mediator см. Мое обновление –

+0

Я могу написать перед Декоратором компонентов – Mediator

Смежные вопросы