在Chrome中 - 两个变体都有效。但是,在模拟ios时 - 使用templateUrl的指令不工作。
此在ios模拟器中不起作用,但在浏览器中有效:
angular.directive('listitems', function(ApiEndpoint) {
return {
restrict: 'A',
templateUrl: '../template/listitems.ng.html',
scope: true
};
})
此适用于ios模拟器,可在浏览器中使用:
angular.directive('listitems', function(ApiEndpoint) {
return {
restrict: 'A',
template: '<strong>listitems</strong>',
scope: true
};
})
在其他地方使用templateUrl在浏览器和ios模拟器中都可以正常工作。例如,当使用ui路由器时 - 我能够加载外部模板而不会出现问题:
$stateProvider.state('app.dashboard', {
url: "/dashboard",
views: {
'menuContent': {
templateUrl: '../template/dashboard.ng.html',
controller: 'DigstackDashboard'
}
}
});
我的问题是 - 在指令的情况下,为什么templateUrl值不能仅在ios仿真器中工作?
答案 0 :(得分:0)
发现问题!我希望这能帮助别人。
angular.config(function($sceDelegateProvider){
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'https://www.example.com/**'
]);
}
即使在uirouter--这似乎并不需要。在ios仿真器中 - 需要此配置才能加载模板。