ram*_*993 2 javascript angularjs angularjs-scope
我正在将角度模板插入元素.考虑以下示例,
<p>
<c ng-controller="ctrl">
...
</c>
</p>Run Code Online (Sandbox Code Playgroud)
如果我从javascript中删除c.会有什么副作用?(范围泄漏)如何避免这种情况?
我用过这个,
function render() {
var lastScope = angular.element('c').scope();
if(lastScope) {
lastScope.$destroy();
}
$('c').remove();
getTemplate(context + '/c.html', function(template) {
if (template) {
angular.element(document).injector().invoke(['$compile', '$rootScope', function($compile, $rootScope) {
$('p').append($compile(template)($rootScope));
$rootScope.$apply();
}]);
}
});
}Run Code Online (Sandbox Code Playgroud)
当我点击标签渲染功能时,每次都会调用.还有其他的消化吗?
创建新范围并将其销毁如下:
var newScope = $rootScope.$new(true);
$compile(template)(newScope);
//later
newScope.$destroy();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11747 次 |
| 最近记录: |