2017-08-02 2 views
0

何か助けていただければ幸いです。私の問題:$scope.infoからの価値を私の見解で示すことはできません。私はhtmlに直接アクセスできないので、js経由でのみDOMを変更できます。 私は新しい要素を作成し、私はここに例を作成しappend()メソッドが追加されたhtml要素のコントローラからの値の表示方法?

$scope.info = { 
    clicks: 15862, 
    spent: '$124', 
    created: '04/08/2017', 
    author: 'John Kovalenko', 
    name: 'Advertise US' 
}; 

var info = document.createElement('div'); 
info = angular.element(info).attr({ 
    'ng-bind': 'info', 
    'class': 'statistic-info' 
}); 
angular.element(infoContainer).append(info[0]); 

append()方法でDOMにこれを追加しました。 http://jsfiddle.net/ADukg/13598/

私は間違っていますか?あなたは手動のディレクティブ

var info = angular.element('<div>').attr({ 
    'ng-bind': 'info.author', 
    'class': 'statistic-info' 
    }); 

    info = $compile(info)($scope); 

    angular.element(infoContainer).append(info); 

使用どこ$compileを注入するようにしてくださいを使用して何かを注入する際$compileを使用する必要が

答えて

4

ありがとうそれ

DEMO

+0

ありがとうございました!あなたは私の一日を救った! – WhatIsHTML

2

最も単純答えは、データを追加する前にHTMLコンテンツにデータを追加することです。あなたはオブジェクトを持っているので、私は以下のスニペットにそのプロパティの1つを提供しました。

あなたのページが読み込まれ、ダイジェストサイクルは既に完了しています。あなたが追加しているのは単純なプレーンテキストなので、補間されません。私が提供しているこの方法は、双方向バインディングを提供しません。それが必要な場合は、ディレクティブを使用する必要があります。 charlieftlが最良の答えを持っている、と述べた

var infoTwo = '<div><p>' + $scope.info.clicks + '</p></div>'; 

関連する問題