处理AngularJS中的DOM操作

xd4*_*d44 36 angularjs

当我使用jQuery执行DOM操作(添加新的HTML)时,AngularJS不会自动检测新HTML中的变量并用它们的值替换它们.例如:

$scope.showSummary = function($event){

    $($event.currentTarget).html("<div>{{row}}</div>");

};
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子,但在元素更改HTML后(此功能被称为ng-click),输出它仍然{{row}}不是什么应该是指在上下文/范围.

And*_*lin 66

你必须注入$compile(http://docs.angularjs.org/api/ng.$compile)并使用它,所以angular知道新的html.

$compile('<div>{{row}}</div')($scope).appendTo($event.currentTarget);

但是,在控制器中进行DOM操作时,角度不赞成.您希望控制器处理业务和视图以处理视图.

尝试一个指令来做你想要的.http://docs.angularjs.org/guide/directive