强制 ng-include 重新渲染
Force ng-include to re-render
我正在尝试让 ng-include
在 $scope 变量发生变化时重新渲染。例子.
<div ng-include src="'assets/courses/templates/editModules/'+currentEditExercise.editTemplate"></div>
我的问题是,如果 currentExercise.editTemplate 发生变化,但它具有相同的模板文件。它不会重新渲染,因此不会触发控制器来更新 currentExercise 模型。
在控制器上:
$scope.currentEditExercise = param.exercise;
在 ng-include 模板上:
我为那个模板调用了一个子控制器。
$scope.exercise = $scope.$parent.currentEditExercise;
发生这种情况是因为 ng-include
源已缓存。
可以通过向模板添加随机查询字符串来防止这种缓存 url:
替换:
$scope.currentEditExercise = param.exercise;
与:
$scope.currentEditExercise = param.exercise + '?r=' + Math.random();
因此,每当您更改 currentEditExercise
时,完整的 url 将 更改,即使 param.exercise
没有更改。
我正在尝试让 ng-include
在 $scope 变量发生变化时重新渲染。例子.
<div ng-include src="'assets/courses/templates/editModules/'+currentEditExercise.editTemplate"></div>
我的问题是,如果 currentExercise.editTemplate 发生变化,但它具有相同的模板文件。它不会重新渲染,因此不会触发控制器来更新 currentExercise 模型。
在控制器上:
$scope.currentEditExercise = param.exercise;
在 ng-include 模板上: 我为那个模板调用了一个子控制器。
$scope.exercise = $scope.$parent.currentEditExercise;
发生这种情况是因为 ng-include
源已缓存。
可以通过向模板添加随机查询字符串来防止这种缓存 url:
替换:
$scope.currentEditExercise = param.exercise;
与:
$scope.currentEditExercise = param.exercise + '?r=' + Math.random();
因此,每当您更改 currentEditExercise
时,完整的 url 将 更改,即使 param.exercise
没有更改。