0

次のことを考慮してください。

 <ul class="contracts">
            <li ng-repeat="contract in contracts" class="thumbnail">
                <h3>ID:{{contract.Id}}</a></h3>                    
                <h4>Owner: {{contract.Person.firstName}} {{contract.Person.lastName}}</h4>
           </li>
  </ul>

わかりました。firstName と lastName を連結して所有者を表示できます。ただし、どこかにプロパティ FullName がある方がよいでしょう。Person が null の場合、そのプロパティは firstname + lastname または 'None' を返します。

私の問題は、このプロパティを追加する場所がわからないことです。Person に関連しているため、コントラクト コントローラーに追加するのは奇妙に感じます。しかし、私は Person コントローラーを持っていません。これに対するアプローチは何ですか?

4

1 に答える 1

2

契約サービスがあると仮定します

angular.factory('Contract', ['$resource', function($resource) {
  var Contract = $resource(...);
  ...

  Contract.prototype.getOwner = function() {
    if (this.Person) {
      return this.Person.firstName + this.Person.lastName;
    }
    return 'None';
  }

  return Contract;

}]);

その後、次のように使用できます

<h4>Owner: {{contract.getOwner()}}</h4>
于 2013-04-15T09:44:00.790 に答える