Comment lier des données à l'aide de la Machine Contrôleur & Angular Js
Je joue avec le Type de Script.- Je convertir mon angular js contrôleur de Type Script, Mais je m face à problème en ng-répéteur. (J'ai joint mon contrôleur de code ci-dessous:-
class CustomCtrl{
public customer;
public ticket;
public services;
public cust_File;
public ticket_file;
public service_file;
static $inject = ['$scope', '$http', '$templateCache'];
constructor (
private $http,
private $templateCache
){}
Alors, j'ai vérifié/fixe plunker, plnkr.co/modifier/3XORgParE2v9d0OVg515?p=preview et il doit travailler et de montrer que tous dans l'action.. j'espère que ça aide
Grande Aide!!!! Thanksssss @RadimKöhler
Grande Aide!!!! Thanksssss @RadimKöhler
OriginalL'auteur Shian JA | 2015-05-28
Vous devez vous connecter pour publier un commentaire.
J'ai décidé d'ajouter une autre réponse décrivant plus en détail comment créer et utiliser un contrôleur dans
TypeScript
et à l'injecter dansangularJS
.C'est l'extension de cette Réponse
Comment puis-je définir mon contrôleur à l'aide de la Machine? Où nous avons également un travail plunker
Afin d'avoir de la présente directive:
Nous pouvons voir ce que nous a déclaré que cette directive est disponible que Element. Nous avons également en bordée d'un modèle. Ce modèle est prêt à se lier
SearchedValue
et appel à l'Action à nos contrôleurCtrl.Search()
. Nous dire quel est le nom du contrôleur: 'CustomerSearchCtrl" et demandant l'exécution pour le rendre disponible en tant que "Ctrl" (conrollerAs:)Enfin, nous injecter cet objet dans angulaire module:
Nous pouvons utiliser
$scope
commeng.IScope
, mais pour avoir le plus tapé accès, nous pouvons créer notre propre interface:De cette façon, nous savons, que nous avons chaîne
SearchedValue
et aussi d'autres cordesFoundResult
. Nous avons également informé que l'application Ctrl sera injecté dans le champ d'application, et sera de typeCustomerSearchCtrl
. Et c'est là que contrôleur:plus de son enregistrement dans le module
Ce qui est intéressant sur ce contrôleur? il a un public acton Recherche, qui a accès à l'ensemble de ses membes via
this.
, par exemplethis.$http
. Parce que nous avons donné des instructions intellisense dans VS qui angulaire.d.ts/type d'interfacesera utilisé, plus tard, nous pouvons facilement accéder à ses méthodes. Similaires est le type de la valeur retournée dans
.then()
qui contient des données: {} de tout type...
Espère que cela aide un peu, d'observer que tous les l'action ici
Kohler obtenir le statut de 400
Lieu nouvelle question, serait ma suggestion. Il n'est donc pas judicieux d'étendre ces, déjà résolu. Vous obtiendrez plus grand public... et plus la probabilité d'obtenir une réponse..
Veuillez passer en Revue la Question d'Erreur dans Angular js + Type de Script dans http put statut de 400
OriginalL'auteur Radim Köhler
Il y a un problème avec votre constructeur et
$inject
- elles doivent s'adapter ensembleSimplement,
$inject
tableau DOIT correspondre au paramètre du constructeur de la listeBTW, c'est pourquoi j'avais précédemment ici: https://stackoverflow.com/a/30482388/1679310 suggéré d'utiliser des types dans la déclaration:
Quelle est l'erreur que vous sont fournis avec? pourriez-vous placer dans la question?
Kohler j'ai créé deux sepearte fichier un que mon contrôleur et la seconde, le module de code fourni par vous, mais il me fait l'erreur de ng n'est pas trouvé, j'ai joint un fichier jpeg avec ma question
Vous auriez besoin d.fichier ts angulaire des trucs. Les dernières pourraient être trouvés ici github.com/borisyankov/DefinitelyTyped/blob/master/angularjs/..., lire ceci pour obtenir plus de détails comment ces fichiers ne travail definitelytyped.org
Kohelr où je dois ajouter ce code ci-dessous:- var app = angulaire.module("MyControllerModule"); app.contrôleur("CustomerCtrl" MyModule.CustomerCtrl); }
OriginalL'auteur Radim Köhler
La bibliothèque Bindable TS est une autre façon de configurer la liaison de données avec des caractères d'imprimerie.
OriginalL'auteur Jack Yum Cha
À partir d'un examen rapide de votre code, j'ai trouvé que
search
méthode de contrôleur est privé. Peut-être le changer pour le public va résoudre le problème.OriginalL'auteur Mikalai