私はngRepeatを持っていて、オブジェクトのリストを反復して表示します。これらのオブジェクトにはイメージは含まれていませんが、IDを使用してイメージを取得できます。 ngRepeatの内容では、オブジェクトに対応するイメージを表示したいので、ngSource内の関数を呼び出して、現在のオブジェクトに対応するイメージを取得します。ただし、ngSourceは実際のページに読み込まれません。Ng-srcがスコープの関数を呼び出せません
HTML:
<div class="list-group">
<a ng-click="courseSelected(course.course_id)" class="list-group-item" ng-repeat="course in searchResultData.courseList" id="searchResults">
<div>
<img ng-src="{{getLogoByCourse(course)}}"/>
<h4 class="list-group-item-heading">{{course.name}}, {{course.city}}, {{course.state}}</h4>
<p class="list-group-item-text miscData" ng-show="course.price"><span>Price: {{course.price}}</span></p>
<p class="list-group-item-text miscData">
<span>Phone number: {{course.phone}}</span><br/>
<span>Address: {{course.address}}</span><br/>
<span>Website: {{course.website}}</span>
</p>
</div>
</a>
</div>
指令スニペット:ロードされたページの画像タグの
$scope.getLogoByCourse = function(course) {
console.log("Getting logo");
courseFactory.getLogoByID(course.course_id)
.then(function(result){
console.log("logo: ", result);
result = "app/images/directory/" + result.data[0];
return result;
}
);
}
$scope.getImageByCourse = function(course) {
courseFactory.getImagesByID(course.course_id)
.then(function(result){
console.log("Image: ", result);
result = "app/images/directory/" + result.data[0];
return result;
}
);
}
内容:
<img class="logo-img">
は、これらの機能は、コントローラのスコープ内で宣言されていますか?それらがディレクティブのスコープで宣言されている場合、HTMLにカスタムディレクティブは表示されません。 –
申し訳ありませんが、HTMLはディレクティブによって読み込まれたビューにあり、関数はディレクティブのリンクフィールドに宣言されています。私はそれが正しい場所であると確信しています。同じ場所の他の関数がhtmlから正常に呼び出されているからです。 –
正常に動作するはずです。私はどこが壊れているのか分かりません。あなたは、あなたのフォーマットの素早く小さなjsFiddleの例を作成できますか? –