Ich versuche, einen Textbereich mit einem formatierten Buchstaben zu füllen, der aus einer Textdatei stammt. Diese Textdatei enthält Objekte wie {{client.name}}
und {{client.address}}
, die ich durch den Wert des spezifischen Clientattributs ersetzen möchte. Hier ist der Code Ich habe so weit,Zeichenfolge Ersetzen mit Parameterwert Angular
$scope.loadFlyer = function() {
$http.get("/assets/clientwelcome.txt").then(function(res){
$scope.flyerdescription = res.data;
$scope.flyerdescription = $scope.flyerdescription.replace(/{{client.name}}/g, $scope.client.name);
});
};
Wo früher ich die Daten von der Client-Tabelle genannt hatte:
myApp.controller('ClientCtrl', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
$scope.clients = [];
$http.get('/client').success(function(data, status, headers, config) {
$scope.clients = data;
if (data == "") {
$scope.clients = [];
}
}).error(function(data, status, headers, config) {
console.log("Ops: could not get any data");
});
und das ist das Feld, das ich zu füllen versuchen:
<div class="form-group">
<label class="control-label" for="flyer-description">Description</label>
<textarea style="height:400px" class="form-control" id="flyer-description" ng-model="flyerdescription"></textarea>
</div>
Leider wird kein Austausch durchgeführt. Ich habe versucht, die ersetzen, wie ich in den Javascript-Dokumenten gesehen habe, aber ohne Erfolg.
Ja, der andere Thread Empfang nicht viel Feedback und ich fühlte, ersetzt werden könnte. Wenn $ scope.flyerdescription keine Zeichenfolge enthält, wie könnte ich diese Felder sonst mit den JSON-Daten ersetzen? –
Agh, ich habe meinen Fehler bemerkt, $ scope.flyerdescription.replace (.....) gibt nur den Wert der Zeichenkette mit den Ersetzungen aus, es ändert nicht das Original. Was Sie tun müssen, ist es zu erfassen, indem Sie $ scope.flyerdescription = $ scope.flyerdescription.replace (/ {{client.name}}/g, $ scope.client.name); vorsichtig mit den Zeichenfolgen in Ihrem Ersetzen Anruf, brauchen Sie keine Apostrophe für Regex – andrewkodesgood
Okay, werde ich momentan versuchen –