angularjs测试ng-include是否存在文件

前端之家收集整理的这篇文章主要介绍了angularjs测试ng-include是否存在文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用ng-include在AngularJS应用程序中引入部分内容.如果部分.html文件不存在,我想做其他事情.

部分名称是从$location.path()中提取的.所以如果路径是“/ foo”,那么我想使用“my_partial_foo.html”.但是,如果“my_partial_foo.html”不存在,那么我想改用“my_partial_default.html”.

我将这些数据放入$对话框中,因此我无法使用典型的routeProvider功能(afaik).

我的主要问题是:在我使用ng-include指令之前,如何确定“my_partial_foo.html”是否存在?

相关问题:

angular – reusable dialogs

How to prepopulate a dialog in angularjs/bootstrap

这样的事可能有用.基本上$templateCache将始终具有my_partial_foo.html的键(因此你的ng-include总是可以引用它),但值可能是默认值或真实值.
var app = angular.module('myapp',[]).run(function($templateCache,$http){
  $http.get('my_partial_foo.html',//success
    function(data){
      $templateCache.put('my_partial_foo.html',data);
    },//failure
    function(){
      $http.get('my_partial_default.html',function(data){
        $templateCache.put('my_partial_foo.html',data);
      });
    });
});

猜你在找的Angularjs相关文章