我正在尝试选择在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);
答案 0 :(得分: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()