我在我的asp.net Web表单应用程序中使用Angular JS。我知道Web表单和Angular JS没有成对。
我有一个更新面板,它会进行部分回发。每次回发后,我都要编译角度以使其正常工作。
所以我在页面中添加了以下代码。
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, args) {
var elem = angular.element($('[ng-controller]'));
elem.replaceWith($compile(elem)($scope));
$scope.$digest();
});
我在这里有几个问题:
1.编译ng-controller
位是否可以,或者我应该在$compile
上完整ng-app
。
2.对于每个回发,都有一些孤立的范围。我该如何删除它们?或者如果我按原样离开它们。它不会导致内存泄漏。
3.哪一个更可取$digest
或$apply
以及为什么?