0

私が単純なユーザーリソースを持っているとしましょう:

angular.module('models', ['ngResource']).
    factory('User', function($resource) {
    var User = $resource('/api/users/:userId', {userId:'@id'}, {});
    return User;
});

これにより、を含むユーザーが返される場合があり{firstName: 'bob', lastName: 'smith'}ます。自分の視野に入るユーザーを表示しfullNameたいとfirstName +' '+ lastName思います。これを行う方法は?

今私のコントローラーには:

$scope.user = User.get({userId: 42}); //bob smith

しかし、どこに関数をアタッチしfullNameますか?

4

1 に答える 1

1

リソースを取得して、JavaScriptのプロトタイピングを使用して新しいプロパティまたはメソッドを追加できるはずです。コンストラクターを返すので。

だから次のようなもの:

User.prototype.fullName = function() {
     return this.firstName + ' ' + this.lastName;
};

編集:何らかの理由で機能しない場合...クロージャによって隠されたオブジェクトのプロトタイプを変更するためのJavaScriptハックが少しあります:.constructorcreateオブジェクトのプロパティを使用して、そのプロトタイプを変更できます。

于 2012-10-17T13:16:01.713 に答える