-1
私は2つの画面を持っています..最初のビューにはテーブルが含まれています... 2番目のビューで新しいレコードを作成しています... .hereテーブルは作成された新しいレコードを表示していません。テーブルに作成されたレコードを最初の画面に戻した後に追加します
if i reload app then its showing...but it has to show on navigating back..
firstview.xml
<Table items="{path:'/Emp'}" id="table_id">
firstcontroller
// url="/Emp"
// var table = this.byId("table_id");
// table.bindItems({
// path: url,
// template: table.getBindingInfo("items").template});
second controller
creat: function(oEvent) {
creating a new record by calling odata.......
model.create()
},
//if i go back to first screen then new created record should add to table in first view..how to refres table on back from second view to first view
onNavBack : function() {
this.getRouter().navTo("firstcontroller", {}, true);
},
これに対する答えは、あなたがバインディングコードを持っている場所によって異なります。コントローラのonInitメソッドで記述した場合、再バインドは行われません。同様に作成の後に読ませてください。一般的に、UI5フレームワークはこれを処理しますが、ここで詳細を確認する必要があります。より良い方法は、最初のビューでrouteMatchedハンドラでバインディングが確実に更新されるようにすることです。コントロールがビューから戻るように、バインディングがリフレッシュされて新しいデータがロードされます。 – Veeraraghavan
はonInitにバインドされていません...私はxmlでバインディングを行っています。バインドされたxmlからリフレッシュするには –
http://stackoverflow.com/help/how-to-askをお読みください – matbtt