如何让AngularJS绑定到jQuery设置的HTML?

时间:2014-07-19 23:32:02

标签: angularjs

例如,在下面的小提琴中:

http://jsfiddle.net/NFNvc/28/

var app = angular.module('myApp', []);

app.controller('MainCtrl', function($scope) {
    $scope.test1 = 'Hello world';
    $scope.test2 = 'Hello new';
});

$(function() {
    $("#text").html("{{test2}}");
});

AngularJS未绑定到变量&test; test2。我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

如果你可以在控制器中包含jQuery行,那么使用scope变量而不是花括号。

app.controller('MainCtrl', function($scope) {
    $scope.test1 = 'Hello world';
    $scope.test2 = 'Hello new';

    jQuery(function() {
        jQuery("#text").html($scope.test2);
    });
});

答案 1 :(得分:0)

以下是angularjs文档中有关如何在角度范围之外更新DOM时更新角度的示例。

var $div = $('<div ng-controller="MyCtrl">{{content.label}}</div>');
$(document.body).append($div);

angular.element(document).injector().invoke(function($compile) {
  var scope = angular.element($div).scope();
  $compile($div)(scope);
});

完整文档为at the bottom of this page