Il s'agit d'une erreur courante dans les nouvelles applications Angular. Vous ne voulez pas écrire vos valeurs dans votre HTML sur le serveur si vous pouvez l'éviter. En fait, si vous pouvez éviter que votre serveur rende entièrement le HTML, c'est encore mieux.
Idéalement, vous voulez envoyer vos modèles HTML Angular, puis récupérer vos valeurs via $http en JSON et les placer dans votre scope.
Donc, si c'est possible, faites-le :
app.controller('MyController', function($scope, $http) {
$http.get('/getCardInfo.php', function(data) {
$scope.card = data;
});
});
<input type="text" ng-model="card.description" />
Si vous devez absolument rendre vos valeurs dans votre HTML à partir de votre serveur, vous pouvez les placer dans une variable globale et y accéder avec $window :
Dans l'en-tête de votre page, vous écrirez :
<head>
<script>
window.card = { description: 'foo' };
</script>
</head>
Et ensuite dans votre contrôleur vous l'obtiendrez comme ça :
app.controller('MyController', function($scope, $window) {
$scope.card = $window.card;
});
J'espère que cela vous aidera.