Попал в такое же затруднительное положение. Я закончил со следующим. Таким образом, здесь я не вводя объект области в фабрику, но устанавливая $ scope в самом контроллере, используя концепцию обещания, возвращаемую сервисом $ http.
(function () {
getDataFactory = function ($http)
{
return {
callWebApi: function (reqData)
{
var dataTemp = {
Page: 1, Take: 10,
PropName: 'Id', SortOrder: 'Asc'
};
return $http({
method: 'GET',
url: '/api/PatientCategoryApi/PatCat',
params: dataTemp, // Parameters to pass to external service
headers: { 'Content-Type': 'application/Json' }
})
}
}
}
patientCategoryController = function ($scope, getDataFactory) {
alert('Hare');
var promise = getDataFactory.callWebApi('someDataToPass');
promise.then(
function successCallback(response) {
alert(JSON.stringify(response.data));
// Set this response data to scope to use it in UI
$scope.gridOptions.data = response.data.Collection;
}, function errorCallback(response) {
alert('Some problem while fetching data!!');
});
}
patientCategoryController.$inject = ['$scope', 'getDataFactory'];
getDataFactory.$inject = ['$http'];
angular.module('demoApp', []);
angular.module('demoApp').controller('patientCategoryController', patientCategoryController);
angular.module('demoApp').factory('getDataFactory', getDataFactory);
}());
Мы могли бы попытаться использовать функцию apply
здесь:
sapply(x, function(y) {
name <- paste0("file", y, ".txt")
fileConn <- file(name)
writeLines(c("hello number", y), fileConn)
close(fileConn)
})
Если вы не хотите, чтобы эти разрывы строк по умолчанию, тогда один вариант - просто вызвать writeLines
с одним символом: [ 115]
writeLines(paste0("hello number ", y), fileConn)