目前在我的JQuery脚本中,我有一个硬编码数组:
var arrayList = [
{"id":"1","category":"foo1","title":"bar1","image":"images/foobar1.gif"},
{"id":"2","category":"foo2","title":"bar2","image":"images/foobar2.gif"},
etc....
];
Run Code Online (Sandbox Code Playgroud)
我不需要在我的脚本中对该数组进行硬编码,而是需要从系统生成的一组HTML无序列表中动态创建,因此标记将是:
<ul>
<li>1</li>
<li>foo1</li>
<li>bar1</li>
<li>images/foobar1.gif</li>
</ul>
<ul>
<li>2</li>
<li>foo2</li>
<li>bar2</li>
<li>images/foobar2.gif</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
等等....
我会需要:
var arrayList = new Array(已创建)
我怎么能这样做,以便创建一个新的数组对象,它不只是将输出视为文本字符串?
我有一个应用程序,其中最初加载了大量脚本,随着开发的进行,列表也在增长.我想在需要时延迟加载包含控制器的脚本.我正在使用OcLazyLoad和ngRoute作为路由选项(我确实尝试了ui-route,它实际上具有相同的最终结果但导致其他应用程序问题).延迟加载和路由工作正常,脚本和视图只在需要时加载,但问题是控制器没有被加载(Argument'caseReviewController'不是)所以就好像控制器不存在一样.
这是我在app.js文件中的简单版本...
var app = angular.module('dashboard', ['oc.lazyLoad', 'ngRoute', 'LocalStorageModule']);
app.config(function ($ocLazyLoadProvider, $routeProvider, localStorageServiceProvider) {
$ocLazyLoadProvider.config({
loadedModules: ['dashboard'], modules: [
{
name: 'caseReview',
files: ['js/controllers/case-review.js']
}
]
});
$routeProvider
//other routes here...
.when('/case-review', {
templateUrl: 'views/case-review.html',
controller: 'caseReviewController',
resolve: {
loadModule: ['$ocLazyLoad', function ($ocLazyLoad) {
return $ocLazyLoad.load('caseReview');
}]
}
})
});
Run Code Online (Sandbox Code Playgroud)
在单独的case-review.js文件中,我有一个简单的控制器
app.controller('caseReviewController', function($scope, localStorageService, $route){
//do stuff
});
Run Code Online (Sandbox Code Playgroud)
未找到或执行此控制器,但视图和js文件正在按预期延迟加载.任何帮助都会很棒.
谢谢.