在angularjs中连接字段

时间:2013-04-15 09:34:05

标签: angularjs

考虑以下事项:

 <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控制器。这会是什么方法?

1 个答案:

答案 0 :(得分: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>