2016-05-15 42 views
0

更新後的問題。我在db中推入數據,然後在數組中進行推送,以便使用角度2方式綁定立即顯示。然而我的數據越來越多,可以在控制檯中看到。但它不在UI中顯示。表單數據被推入陣列但未在UI中顯示在angularjs中

控制器

contacts.getall().then(function(response){ 
    vm.people = response.data; 
    }); 


    vm.toggleSidenav = function(){ 
     $mdSidenav('left').open(); 
    }; 


    vm.saveit = function(info){ 
     vm.people.push(vm.xyz); 
     contacts.add(vm.xyz); 
     console.log(vm.people); 

我的目錄

<md-list> 
    <md-list-item ng-repeat="person in vm.people | filter:vm.searchText |  orderBy:'name'" ng-click="showDialog($event, person)"> 
    <img alt="{{ person.name }}" ng-src="https://lh3.googleusercontent.com/-nR0PNFb3p4k/AAAAAAAAAAI/AAAAAAAAAAA/NVt2CqCrCis/photo.jpg" class="md-avatar" /> 
    <p>{{ person.name }}</p> 
    <p class="phn">{{ person.phone }}</p> 

<md-icon ng-click="vm.showConfirm($event, person)"aria-label="Open Chat" class="md-secondary md-hue-3" ng-class="">delete</md-icon> 
</md-list-item> 

    </md-list> 

對於控制檯

vm.people.push(vm.xyz); 
    contacts.add(vm.xyz); 
    console.log(vm.people); 
+0

是否有錯誤? – Sajeetharan

+0

控制檯沒有錯誤。 – scripter

+0

你可以爲這個問題創建一個蹲點嗎? – Sajeetharan

回答

0

-------------- ---------------- --------------------------- 固定更新 ------------------- ------------------------------------

Al-right所以有一個非常簡單的規則當你想從一個控制器傳遞一個值到另一個控制器時,最好的辦法就是使用一個工廠,但因爲在這種情況下你不使用第二個控制器,所以我們不會使用工廠。您將var vm.people = [];初始化爲數組。

,但低於在這裏,你正在推動一個ARRAY

vm.people.push({ 
    name: vm.info.name, 
    phone: vm.info.phone, 
    email: vm.info.email 
}); 

在這種情況下是錯誤的這就是爲什麼範圍沒有得到更新內的OBJECT

,你應該做的事情是創造JSON對象,比更新$scope.showData

vm.people = { "name": vm.info.name, "phone": vm.info.phone, "email": vm.info.email}; 

這導致更新當前的範圍,並在同一時間保存數據。倉庫中的存儲工廠僅用於測試目的,如果您想要將其移除。但如果你需要它,你就會知道如何在工廠傳遞和存儲數據,而不是檢索它。

看看你的更新修復Plunker

動畫GIF:

Updating the scope in real time

--------------------- -------------------------------------- Old Reply -------- -------------------------------------------------- 嘿,我已經用你自己的代碼編寫了一個工作的plunker,vm.people數組,你在頂部定義了數組,然後在之內推入數據fucniton工作是非常好的,如預期的那樣,vm.people有三個3屬性的對象,看起來是什麼問題?

[Object] 
0 
: 

email: "[email protected]" 
name: "waqas" 
phone: "4245345343" 

工作plunker Form Data is not getting pushed in array in angularjs

+0

嗨waqas,vm.saveit()正在工作。我首先將數據注入數據庫,然後將數據注入到角度數組中,以便我可以立即顯示數據。但它不起作用。這裏是控制器的github鏈接 - https://github.com/sourabh-garg/contactaap.1/blob/master/app/assets/javascripts/script/controllers.js如果你想看看我正在採取的只是在https://flap-contact.herokuapp.com/ – scripter

+0

創建一個新記錄讓我看看 – Wcan

+0

所以你想說的是,記錄被保存在數據庫中,但它不會出現在記錄列表中在右側,除非你刷新頁面? – Wcan

相關問題