如果$ scope变量更改,我试图使ng-include
重新呈现。例。
<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
时,即使param.exercise
不变,完整的url也将更改。