テキスト領域に、テキストファイルからの書式付き文字を入力しようとしています。このテキストファイルには{{client.name}}
と{{client.address}}
のようなオブジェクトが含まれていますが、これは特定のクライアントの属性の値に置き換えます。ここで私は以前、私は、クライアントのテーブルからデータを呼んでいたここまで、文字列置換パラメータ値角度
$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);
});
};
を持っているコードです:
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");
});
は、そして、これは私が移入しようとしている分野である:
<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>
残念ながら、置き換えは行われません。私はjavascriptのドキュメントで見たように置換をフォーマットしようとしましたが、無駄です。
以下の議論あたり
はい、他のスレッドは、多くのフィードバックを受けていなかったと私は置き換えることができます感じました。 $ scope.flyerdescriptionが文字列を保持していない場合は、そうでない場合はどうすればこれらのフィールドをJSONデータで置き換えることができますか? –
ああ、私は間違いを認識しました。$ scope.flyerdescription.replace(.....)は、置き換えられた文字列の値を返します。元の文字は変更されません。あなたがする必要があるのは、$ scope.flyerdescription = $ scope.flyerdescription.replace(/ {{client.name}}/g、$ scope.client.name)を呼び出すことによってそれを取得することです。あなたの代わりの呼び出しの文字列に注意してください、あなたは正規表現のアポストロフィを必要としません – andrewkodesgood
私は瞬時に試してみます –