3
Я новичок в машинописи/ecma6 и хотел бы написать этот угловой контроллер в машинописи:углового контроллера в машинописи
.controller('DashCtrl', function($scope, wpFactory) {
$scope.posts = [];
$scope.images = {};
wpFactory.getPosts(3).then(function (succ) {
$scope.posts = succ;
angular.forEach(succ, function(value, index) {
$scope.setUrlForImage(index, value.featured_image);
});
}, function error(err) {
console.log('Errror: ', err);
});
$scope.setUrlForImage = function(index, id) {
wpFactory.getMediaDataForId(id).then(function (succ) {
$scope.images[index] = succ.source_url;
});
};
})
с моим фактическим подходом у меня есть проблемы с областью видимости методов в классе:
class DashCtrl {
public $inject = ['wpFactory'];
posts: any[];
images: any[];
constructor(public wpFactory: any) {
this.getPosts();
}
getPosts(){
... ?
}
setUrlForImage(succ:any, index:any, id:any){
... ?
}
}
Интересной частью для меня является разработка методов getPosts и setUrlForImages. Мы ценим любые предложения.
Устранение форматирования? Также: возможно, вы получите некоторую информацию о синтаксисе '=>' в TypeScript. Также вопрос с моей стороны, вам не нужно что-то особенное в конфигурации, чтобы позволить классам TS, которые могут получить доступ к '$ scope', используя' this'? – froginvasion
привет, ребята, спасибо за ваши ответы. , к сожалению, оба решения не работали. моя проблема с вашим фактическим кодом для this.setUrlImage в getPosts() есть: ts2346 - поставленные параметры не соответствуют какой-либо сигнатуре целевого вызова. и сгенерированный код, который мне нужен для вызова службы rest, не определен. –
@froginvasion взгляните на это http://stackoverflow.com/questions/25266555/using-this-instead-of-scope-with-angularjs-controllers-and-directives для вашего последнего вопроса и https: // developer. mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functionsfor arrow functions (=>) –