【发布时间】:2016-11-04 07:14:10
【问题描述】:
我有以下控制器,它适用于在一些 ajax 操作后动态编译新的 DOM 元素:
angular.module('cms').controller('CompileHtmlCtrl', [
'$scope', '$compile',
function ($scope, $compile) {
$scope.compileHtml = function (id) {
$compile("#"+id)($scope);
};
}
]);
当我尝试更改 URL 以响应 ajax 操作时出现问题,因为如果我在任何地方(编译之后或之前)调用 pushState,angular 总是会更改 URL。
window.history.pushState({}, '', url);
是否可以防止 Angular 这样做?
已解决使用$digest。
$compile("#"+id)($scope);
$scope.$digest();
然后我找到了关闭 Angular URL 操作Turn off URL manipulation in AngularJS 的更好的解决方案。
【问题讨论】:
标签: javascript angularjs ajax