2015-09-14 34 views
1

所以我正在研究一箇中等大小的Rails應用程序,並且我正在嘗試學習Angular並將其添加到應用程序中。我已經看了一些教程,它似乎是獲得的初始數據和渲染初始視圖最常用的方法是如下在Angular中使用Rails後端呈現的初始視圖

phonecatControllers.controller('PhoneListCtrl', ['$scope', 'Phone', function($scope, Phone) { 
    $scope.phones = Phone.query(); 
    $scope.orderProp = 'age'; 
}]); 

var phonecatServices = angular.module('phonecatServices', ['ngResource']); 

phonecatServices.factory('Phone', ['$resource', 
    function($resource){ 
    return $resource('phones/:phoneId.json', {}, { 
     query: {method:'GET', params:{phoneId:'phones'}, isArray:true} 
    }); 
    }]); 

於是方式發出控制器構造函數/初始化一個GET請求這個工作是瀏覽器發出初始請求並加載javascript/angular,然後發出第二個請求來獲取數據,一旦它接收到它呈現頁面的數據。

我最初的想法是呈現初始頁面視圖服務器端,但谷歌搜索後它似乎並沒有這樣做是一種流行或好方法(將不得不在客戶端和服務器上覆制大量的模板/邏輯?)

我的第二個想法是在json/javascript中的軌道端渲染/存儲的初始數據,並有角度從那裏獲取初始數據,而不是對數據發出ajax請求。在初始化之後,隨後的請求可以發出ajax請求,但是這會避免一開始的往返請求。有沒有其他人試過這個方法,我應該知道這種方法有什麼問題嗎?

回答