2017-03-03 9 views
0

同じページ内の複数の画像を切り抜くことができるようにするためにngImgCrop(https://github.com/alexk111/ngImgCrop)というプロジェクトを修正しようとしていますが、必要な画像の数がわかりません。ですから、動的な値の 'イメージ'フィールドに関連付ける必要があります。同時に、この変数を自分のスコープに入れます。問題は、このラベルが角度コードを評価していないことです。初め変数$ scope.person12345が作成されているので、私の範囲でAngularJS式が正しく機能しない<img-crop>

<div class="cropArea" id="person12345"> 
    <img-crop image="{{'person'+person.Id}}" result-image="myCroppedImage"></img-crop> 
</div> 

を、しかし、それは次のとおりです。彼らは同じコード、ページがロードされると、HTMLコードが表示さを持っていても

<div class="cropArea" id="{{'person'+person.Id}}"> 
    <img-crop image="{{'person'+person.Id}}" result-image="myCroppedImage"></img-crop> 
</div> 

この部分のない綴じをすることは不可能です。 どうすればいいですか?

注:私のinit()関数で は、私はすべての変数を作成します。

angular.forEach(persons, function (person, index) {   
    $scope['person'+person.Id]=''; 
}); 

ページがロードされたときに、私は実際に変数$ scope.person12345を見ることができます。いずれにしても、なぜ表現がdivのために機能し、img-cropのために機能しないのですか?

+0

文書によると、imageは割り当て可能な角度表現でなければなりません。あなたのコントローラコードを私たちに教えてください。 $ scope.person12345を定義するのではなく、 '$ scope.persons [i] .image'を定義し、あなたのng-repeatの反復処理で人物、' image = "person.image" '。 –

+0

質問に関連するすべてのコードを編集して投稿します。それが読めないところのコメントにはありません。 –

答えて

0

コントローラーで実行される関数として式を入れてください。文字列(追加文字列)は以下のような関数で返されます。あなたはコントローラを介して解析された表現を与える必要がある理由

<div class="cropArea" id="{{'person'+person.Id}}"> 
     <img-crop image="getImagePath(person.Id)" result-image="myCroppedImage"></img-crop> 
    </div> 

Controller like below: 

    $scope.getImagePath = function(id){return 'person'+id+'.png';}; 

imageのディレクティブで使用可能なパーサはありませんどのようにいくつか、それはです。

+0

私はそれをしました。しかし、私はそれが関数に入り、適切な値を返していましたが、デバッグしていた最中には、htmlは次のようになりました: これはパスではないので、イメージには、これにバインドするスコープの変数の名前です。 – btyroque

+0

成形された変数の値を返そうとします。 –

+0

私はそれを試して何もしなかったが、それでも同じ振る舞いをしました。 – btyroque

関連する問題