Javascript 在AngularJS中,视图更改时如何加载脚本?
在AngularJS中,它能够使用ng视图路由页面的一部分。这对于较小的项目来说非常好,但是随着项目变大,由于无法在script标记中加载脚本,它的伸缩性不太好。我已经看到了其他一些关于这方面的帖子,但我无法找到一个解决方案。我可以让它工作的唯一方式,我认为它是一个黑客,不工作的方式,我希望它是如果我包括所有的脚本在顶部的基础索引。 我想要的是,当视图更改为在加载的视图头中加载Javascript文件时,因为它们将在该点实际使用,而不必在应用程序开始时预加载它们 在演示项目中,Index.html调用console.log命令,但我无法让page1或page2调用log命令。任何帮助都将不胜感激Javascript 在AngularJS中,视图更改时如何加载脚本?,javascript,angularjs,requirejs,angularjs-view,Javascript,Angularjs,Requirejs,Angularjs View,在AngularJS中,它能够使用ng视图路由页面的一部分。这对于较小的项目来说非常好,但是随着项目变大,由于无法在script标记中加载脚本,它的伸缩性不太好。我已经看到了其他一些关于这方面的帖子,但我无法找到一个解决方案。我可以让它工作的唯一方式,我认为它是一个黑客,不工作的方式,我希望它是如果我包括所有的脚本在顶部的基础索引。 我想要的是,当视图更改为在加载的视图头中加载Javascript文件时,因为它们将在该点实际使用,而不必在应用程序开始时预加载它们 在演示项目中,Index.htm
我正在使用Angular 1.3.0 Beta 11。2件事,在你看来,你不必写或标记,你已经在主页上找到了它们。您应该将视图视为主页的一部分 其次,要将javascript添加到视图中,请向视图中添加一个控制器,如下所示:
.config(function ($routeProvider) {
$routeProvider
.when('/page1', {
templateUrl: 'page1.html',
controller: function ($log) {
$log.info('page 1');
}
})
.when('/page2', {
templateUrl: 'page2.html',
controller: function ($log) {
$log.info('page 2');
}
});
});
var app = angular.module('routeApp', ['ngRoute'])
.config(function ($routeProvider) {
$routeProvider
.when('/page1', {
templateUrl: 'page1.html',
controller: function ($log) {
$log.info('page 1');
}
})
.when('/page2', {
templateUrl: 'page2.html',
controller: 'ViewController'
});
});
app.controller('ViewController', function ($log) {
$log.info('page 2');
})
也可以将控制器添加到视图中,如下所示:
.config(function ($routeProvider) {
$routeProvider
.when('/page1', {
templateUrl: 'page1.html',
controller: function ($log) {
$log.info('page 1');
}
})
.when('/page2', {
templateUrl: 'page2.html',
controller: function ($log) {
$log.info('page 2');
}
});
});
var app = angular.module('routeApp', ['ngRoute'])
.config(function ($routeProvider) {
$routeProvider
.when('/page1', {
templateUrl: 'page1.html',
controller: function ($log) {
$log.info('page 1');
}
})
.when('/page2', {
templateUrl: 'page2.html',
controller: 'ViewController'
});
});
app.controller('ViewController', function ($log) {
$log.info('page 2');
})
我更新了你的plunker: