2016-12-23 1 views
1

私はAngular 2でサイトを作成し、コンポーネントにJavaScriptファイルを追加します。このスクリプトは、いくつかの画像の高さをブラウザのウィンドウの高さと同じにする必要があります。コンポーネント内に外部JSファイルを追加してブラウザに画像をレンダリングします。

このスクリプトをコンポーネントに追加するにはどうすればよいですか?私はSOまたはどこか他にい

ソリューションは、次のようになります。

import './home.component.js'; 

しかし、それは私が必要なものではありません!私は角度CLIと活字体を使用し、私のサイトでは:アップデート1

@Component({ 
    templateUrl: './home.component.html', 
    styleUrls: ['./home.component.scss'], 
    jsUrls: ['./home.component.js'] 
}) 

か何か...

:私は私のhome.component.tsファイルでこれを必要とします。

アップデート2:あなたはGitHubの上で私のプロジェクトを見つけることができる:https://github.com/WatchFriends/Web

+1

これを行うには、index.htmlにスクリプトを追加し、次にhome.component.tsにmyScript.jsの定義をインポートします。 myScript.myFunction(...)を使用して関数にアクセスします。 –

+1

プロジェクトを構築するために何を使用していますか? CLIにはこれを行う方法があり、webpackも同様です。それをバンドルに追加するscript_loaderローダーがあります。あなたのビルドアウトについてもっと知る必要があります。 –

+1

@TimConsolazio:はい私はAngular CLIを使用します –

答えて

3

これは動作し、うまく機能:角度-cli.jsonファイルで

は、セクションがあり、 "スクリプト" 。その配列内のスクリプトへのパスを二重引用符で囲んだ文字列として追加します。ここで

は、そのファイルからのfragです:あなたはどこからでも期待するよう

function sayHello () { 
    console.log ('I am saying hello'); 
} 

それからちょうどそれを呼び出す:

"mobile": false, 
    "styles": [ 
    "../node_modules/bootstrap/dist/css/bootstrap.css", 
    "../node_modules/font-awesome/css/font-awesome.css", 
    "styles.css" 
    ], 
    "scripts": ["./app/my_script.js"], 
    "environments": { 
    "source": "environments/environment.ts", 
    "dev": "environments/environment.ts", 
    "prod": "environments/environment.prod.ts" 
    } 

my_scriptというはこれです。

window [ 'sayHello' ] (); 

か、その関数への参照が含まれているユーティリティクラスを作成し、クラスをインポートすることができるように:ビートに迷惑はあなたのIDEに得ることができますエラー、あなたはどちらかだけでこれを行うことができます「が見つかりません」通常は関数を呼び出します(基本的には "my_script.js"関数のフレームワークファサードを提供しています)。

私は両方を試しましたが、うまくいきました。エラーはありません(あなたはng serveまたはng buildなどを使用しています)。

+0

私はそれをAng2の記事の1つに変え、「正誤表」の下に見てください: http://www.tcoz.com/ –

関連する問題