2016-05-19 6 views
0

私の問題を示すために単純なplunkerを行った。私のページでは、私はAPIコールから取得するいくつかのプロパティをレンダリングする必要があります。このプロパティには 'id'と 'name'というキーがあります。 私は「ID」を除くすべてのプロパティをレンダリングする必要があり、この目的のために、私はここにng-repeatグリッドからドット表記を削除する

<form style="padding: 15px"> 
    <button class="btn btn-default" ng-click="upload()">Upload</button> 
    <div class="form-group row"> 
    <div ng-repeat="k in rowKeys | filter: '!id'" ng-model="rowValue"> 
     <label for="rowValue" class="col-sm-2">{{k}}:</label> 
     <div class=" col-sm-2"> 
     <input class="form-control rowValue" id="rowValue" value="{{rowData[k]}}" /> 
     </div> 
    </div> 
    </div> 
    <button type="submit" class="btn btn-default" ng-if="rowData" ng-disabled="!rowValue">Submit</button> 
</form> 

のような角度フィルタを使用していますが、それは私がしようとしていた

study.name 

ドット表記スルー一部のキーは、そのような私を示してい純粋なjavascriptを置き換えるが、エラーが発生しました

replace is not a function 

私のページのすべてのキーから「.name」を削除するにはどうすればよいですか?

+0

あなたが実際にあなたが戻って配列から得るデータセットを変更するフィルタをしたいですか?または、文字列を操作するための表示フィルターですか? – ryanyuyu

答えて

1

さてあなたは、単純なフィルタ

app.filter('hide', function() { 
    return function(input, arg) { 
     return input.replace(arg, ''); 
    }; 
}); 

を作成し、このようなあなたのコードでそれを使用することができます。

{{k | hide:'.name'}} 

フィルターは、おそらくいくつかのより多くのエラー処理を使用することができます。

デモンストレーション:Plunkr

+0

うわー、大丈夫です!ありがとうございました。エラーの種類は何ですか?この文書でhttps://docs.angularjs.org/api/ng/filter/filterには何も書かれていないので、それについて読むことができます – Anton

+0

、それはカスタムフィルタを呼び出しますhttps://docs.angularjs.org/チュートリアル/ step_09 – Anton

+1

@Antonフィルターですばやくリファクタリングしましたhttps://plnkr.co/edit/d6furuCGttWJYJBbyhd3?p=preview –

関連する問題