私のHTMLテンプレートには、次のものがあります。
<a ng-href="{{ person | personLink }}">
person
コントローラーで次のように設定されます。
$scope.person = Person.get({examId: $routeParams.personId});
そしてPerson
リソースです:
app.factory('Person', [
'$resource', function($resource) {
return $resource('/api/people/:personId/', {
personId: '@personId'});
}
]);
問題は、プロミスの準備が整う前にフィルターが呼び出され、未定義の値が読み取られることです。これに対処する正しい方法は何ですか?
現在、属性に対して if チェックを使用していますが、これは理想的ではないようです。
renderFilters.filter('personLink', function() {
return function(person) {
if(person.ages) {
return '#/ages/' + person.ages;
}else{
return '#';
}
};
});