2016-07-19 9 views
0

私はlaravel-angular設定を使用しています。 http://www.laravel-angular.io/#/laravel-angularプロジェクトでng-file-uploadを設定するにはどうすればいいですか?

ここで説明するように、ng-file-uploadも使用しようとしています。 https://github.com/danialfarid/ng-file-upload

私が午前トラブルがこのngFileUploadディレクティブにアクセスするための私のプロジェクトを設定し、それは(https://github.com/danialfarid/ng-file-upload#-install

<script src="angular(.min).js"></script> 
<script src="ng-file-upload-shim(.min).js"></script> <!-- for no html5 browsers support --> 
<script src="ng-file-upload(.min).js"></script> 

。インストールで述べているが、私は万能薬を使用していた場合、私はこれらの参照をどこに置くか、私の質問はすべての私の依存関係をコンパイルするには?

私は(私はindex.modules.jsを考えていた)のアプリにそれをロードする必要がある場合、私はこの行を置くことができます。また

var app = angular.module('fileUpload', ['ngFileUpload']); 

がインストールされているとする前に、このプロジェクトのためにいくつかのプラグインを使用しますが、これは私にトラブルを与えている。どんな提案も大歓迎です。

コントローラに「アップロード」を挿入する前に、アプリの実行が開始されるとエラーが発生します。私は周りの仕事を見つけた

おかげで、

マット

+0

それはちょうどあなたのコントローラで 'Upload'を注入し、それを使用して、任意のエラーを与えていない場合。 – developer033

+0

私はそれが必要なスクリプトを見つけることができないその点の前にエラーを得る、もっとexplinationで質問を編集するでしょう。 –

答えて

3

は、基本的にコントローラに$スコープを挿入し、次のようにfileChanged()関数を定義する必要があります。

class TestController{ 
    constructor($scope,API){ 
     'ngInject'; 
     this.API = API 
     this.$scope = $scope; 
    } 

    $onInit(){ 
     this.file = null; 
     this.$scope.fileChanged = function(elm) { 
      console.log('hey') 
      this.file = elm.file; 
      this.$apply(); 
     } 
    } 
    upload() { 
     console.log(this.file) 
    } 

} 

今ではのようなHTMLテンプレートで呼び出すことができます。

<input type="file" 
       accept="image/*" 
       ng-model="vm.file" 
       onchange="angular.element(this).scope().fileChanged(this); angular.element(this).scope().$digest();" /> 

私は完全にこれがどのように機能するかを理解していないが、それは今私の関数を呼び出しているように見えるので、それが働いて得ることができる必要があります。次の2つのリンクは非常に役に立ちました。

https://egghead.io/lessons/angularjs-file-uploads

https://github.com/angular/angular.js/issues/1375

+0

これはprebuildディレクティブを使用しなくなったことを意味します。私は自分自身を構築します。これは、ラベール角のやり方に準拠しています。 –

+0

これは、角度の外側で 'vm.file'を設定することによって機能します(' onchange'は角度イベントではありません)。更新された 'vm.file'を認識するために角度コンポーネントの再コンパイルを強制する – lightswitch05

関連する問題