2016-02-11 26 views
0

我試圖選擇在Angular中使用$ http服務的標準 - longhand or shorthand/shortcut

爲了開發目的,兩者之間是否有區別?表演還是其他?或者它只是降低偏好?

我更喜歡手寫的,我覺得它更具可讀性和喜歡更多的換行符:

$http({ 
    method: 'POST', 
    url: '/api/mydata', 
    data: JSON.stringify($scope.myData), 
    headers: { 
     'Content-Type': 'application/json' 
    } 
}) 
    .then(getReportDataComplete) 
    .catch(getReportDataFailed); 

相比於:

$http.post('api/mydata/',{ 
    data: JSON.stringify($scope.myData), 
    headers: { 
     'Content-Type': 'application/json' 
    } 
}) 
    .then(getReportDataComplete) 
    .catch(getReportDataFailed); 

回答

4

簡答

他們是完全一樣的,你可以使用那個讓你感覺最舒服的。

它在哪裏定義?

$ http函數的短函數在ng/http.js中定義。 在這個文件中,你可以找到以下行:

createShortMethodsWithData('post', 'put', 'patch'); 

,如果你看一下createShortMethods的定義,你可以看到:

function createShortMethods(names) { 
    forEach(arguments, function(name) { 
    $http[name] = function(url, config) { 
     return $http(extend({}, config || {}, { 
     method: name, 
     url: url 
     })); 
    }; 
    }); 
} 

上述功能將通過給定的標籤,並設置短的函數來擴展給定的配置和正確的參數,同時調用$ http()

相關問題