Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS ngRoute子视图未在父视图中加载Javascript_Javascript_Angularjs_Angular Routing - Fatal编程技术网

AngularJS ngRoute子视图未在父视图中加载Javascript

AngularJS ngRoute子视图未在父视图中加载Javascript,javascript,angularjs,angular-routing,Javascript,Angularjs,Angular Routing,在尝试使用Angular自定义元素时,我制作了不同的路线,它们都可以工作。问题是某些自定义元素无法加载 我有一个页面,它使用角度路由来处理不同的视图,如下所示: angular.module("appRoutes", ["ngRoute"]) .config(function($routeProvider, $locationProvider) { $routeProvider // Route for the home pa

在尝试使用Angular自定义元素时,我制作了不同的路线,它们都可以工作。问题是某些自定义元素无法加载

我有一个页面,它使用角度路由来处理不同的视图,如下所示:

angular.module("appRoutes", ["ngRoute"])

    .config(function($routeProvider, $locationProvider) {

            $routeProvider

                // Route for the home page
                .when("/", {
                    templateUrl  : "../views/home.html",
                    controller   : "homeController",
                    controllerAs : "home"
                })

                // Route for Credits
                .when("/credits", {
                    templateUrl  : "../views/credits.html",
                    controller   : "creditsController",
                    controllerAs : "credits"

                });

            $locationProvider.html5Mode(true);

    });
所有CSS和JS文件都在
index.html
文件中调用。CSS位于文件的开头,JS位于
index.html
文件的末尾。我尝试将JS导入移动到文件的顶部,但是这并没有改变任何事情

我尝试使用的自定义元素是sliderrevolution和owlcarousel。当我将
home.html
的内容直接放入
index.html
中时,一切都很正常

但是,当我试图将
home.html
的内容保存在
home.html
中,并使用我的视图加载内容时。旋转滑块和猫头鹰转盘内的元素将不工作,图像不加载,它们的“骨架”也不工作

此外,我还尝试将CSS和JS文件导入放到
home.html
视图中,但也没有成功

我不知道如何修理它。我想这是Owl Carousel和Revolution Slider的Javascript无法与
home.html
中的视图交互的某种问题,因为CSS通常不会出现任何问题


感谢您花时间阅读这些内容,非常感谢您的帮助。

使用angular ui router时遇到类似问题。CSS应用得很好,但是JS什么也没做。无论我把它装在哪里;枯萎,在索引页或我的主页。ng视图/ui视图是否充当命名空间?而DOM加载序列是我能想到的唯一会导致这种效果的东西。如果我能在这里找到解决办法,我会发帖的

::解决方案:

所以我只是让它工作了。您需要延迟加载第三方JS文件。查看此处发布的答案(第一个)

他们没有提到的唯一部分是要应用于视图的脚本需要添加到视图中:

<div ng-view>  
    <script type=text/javascript-lazy src="your/src/path"></script>
</div>


ngLazyLoad会将其从视图中删除,并在适当的时候将其添加到您的头部,这样会影响加载到您视图中的内容。

您能为其创建一个plnkr吗?我不能,因为库的JS/CSS受版权保护。您想问如何“延迟加载”吗包含在html模板中而不是初始页面加载中的javascript?嗯,或者你是在问,当加载到页面上的javascript函数的目标元素稍后才出现在DOM中时,如何使这些函数开始工作?@AndrewCounts我甚至不能100%确定这是问题所在,因为控制台没有抛出任何错误。我的假设是,当提供角度内容时(在实际页面第一次加载后几毫秒),Javascript被调用,因此
home.html
文件中的内容不受Javascript的影响,因此变得无用。我希望任何方法都能修复此行为。经过进一步调查,似乎发生的情况是
ng router
嵌套视图在加载子视图后没有加载父视图中包含的javascript。仍然不知道如何解决这个问题,将继续调查。