1

次のコードでドキュメントに2を追加するにはどうすればよいですか?

var $injector = angular.injector(['ng']);

$injector.invoke(function ($compile, $rootScope) {
    var link = $compile('<p>{{1+1}}</p>');
    var newElement = link($rootScope);

    $(document.body).append(newElement);
});

私が今ブラウザで見ているのは

{{1+1}}

編集

body 要素に追加したいのは、静的な HTML を補間するだけでなく、角度のあるアプリにすることです。これにより、スコープの変更を反映したり、イベント ハンドラーを持ったりすることができます。

4

1 に答える 1

3

$scopeではなくにバインドする必要があります$rootScope。行を次のように変更します。

function ctrl($scope) {
    var $injector = angular.injector(['ng']);

    $injector.invoke(function ($compile) {
        var link = $compile('<p>{{1+1}}</p>');
        var newElement = link($scope);
        $(document.body).append(newElement);
    });
}

または、 $interpolateモジュールを使用できます。

function ctrl($scope, $interpolate) {
    var $injector = angular.injector(['ng']);
    $injector.invoke(function ($compile) {
        var link = '<p>{{1+1}}</p>';
        var exp = $interpolate(link)({});
        $(document.body).append(exp);
    });
}
于 2013-08-22T16:37:25.490 に答える