考虑以下事项:
<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控制器。这会是什么方法?
答案 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>