独角兽企业重金招聘Python工程师标准>>>
说明
本文主要说明,在angularJS
框架使用中,angularJS
路由加载jscontroller
未定义 解决方案。
路由 $routeProvider 异步加载js
路由的基本用法,请查看官方文档,下面实例只说明,懒加载用法。
实例使用版本:
angularJS:1.7.6
ocLazyLoad:1.1.0
片段说明
通过路由懒加载
js,需要引用第三方ocLazyLoad
库加载,并且修改被加载脚本代码,防止控制器出现未定义现象。
定义 ocLazyLoad 库
angular.module("app_name", ['ngRoute','ngSanitize','oc.lazyLoad'])
路由设置
angular.config(['$routeProvider', function($routeProvider){$routeProvider// 路由示例图.when('/',{// 模版地址templateUrl:'/PC/Public/Template/CustomerData.php',// 控制器名字controller:'controller_name',// 依赖请求resolve: {// 调用 ocLazyLoaddeps: ['$ocLazyLoad',function (e) {return e.load(['/PC/Public/Template/L/L0/CustomerModel/CustomerData.js']);}]}}).otherwise({redirectTo:'/'});}]);
被加载js代码
// 添加指定 app 名称,防止出现未定义控制器angular.module("app_name").controller("controller_name", ["$scope", function ($scope) {console.log("$scope");}]);