编辑:问题是由于尝试使用 ng-repeat \ ng-options 迭代函数的返回值,而不是使用 promise 将数据解析为常规对象而引起的。
代码:
$scope.layout.getPartialUriSafe = function(){
return $sceDelegate.getTrusted($sce.RESOURCE_URL, $scope.layout.getPartialUri());
}
$scope.layout.getPartialUri = function(){
var cat = $location.search().cat;
switch(cat){
case 'settings':
return 'partials/companySettings.html';
case 'scouters':
$scope.model.roleType = 'scouter';
$scope.layout.roleTitle = $filter('translate')('SCOUTERS');
return 'partials/roles.html';
case 'recruiters':
$scope.model.roleType = 'recruiter';
$scope.layout.roleTitle = $filter('translate')('RECRUITERS');
return 'partials/roles.html';
case 'social':
return 'partials/socialLinks.html';
case 'design':
return 'partials/companyDesign.html';
default:
return 'partials/companySettings.html';
}
}
HTML:
<div class="settingsInnerContainer">
<div data-ng-include data-src="layout.getPartialUriSafe()"></div>
</div>
以上冻结屏幕没有错误。
尝试使用插值
'{{layout.getPartialUriSafe()}}'
但后来我得到了一个角度解析器错误。
还尝试使用原始插值,但也没有运气:
'{{layout.getPartialUriSafePrimitive}}'
layout.getPartialUriSafePrimitive - 包含带有部分 URI 的字符串。
提前感谢您的帮助,我一直在尝试升级到 ng 1.2.x,到目前为止遇到了许多在 1.2.2 中解决的问题,但这个特定问题仍然存在。