0
私はangularjsで新しく、私はlaravel、angularjs、requirejsを使って一つのアプリケーションで作業しています。 私の質問は:ユーザーがページ(ビュー)を要求したときにコントローラを動的にロードする方法です。 例:ユーザーがこのURL(http://domain.com/#!/page_requested)を要求した場合、ファイルpage_requested.controller.jsおよびpage_request.template.htmlをロードします。 マイアプリの構造は以下の通りである:角速度コントローラを動的に
public/
app/
main.js
app.js
config.js
todo/
controllers/
page_requested.controller.js
views/
page_requested.template.html
dirictives/
...
main.js
'use struct';
require.config({
baseUrl: '/../libPath/',
paths: {
jquery : '/../bower_components/jquery/dist/jquery',
angular : '/../bower_components/angular/angular',
ngAnimate : '/../bower_components/angulat-animate/angular-animate',
ngAria : '/../bower_components/angular-aria/angular-aria',
ngMessages : '/../bower_components/angular-messages/angular-messages',
ngRoute : '/../bower_components/angular-route/angular-route',
ngSanitize : '/../bower_components/angular-sanitize/angular-sanitize',
autoLoad : '/../bower_components/auto-load/lib/index',
app : 'app'
},
shim: {
jquery: {
exports: '$'
},
angular: {
exports: 'angular',
},
ngRoute: {
exports: 'ngRoute',
deps: ['angular']
}
}
});
require(
[
'angular',
'ngRoute',
'app',
'config'
],
function (angular) {
var AppRoot = angular.element(document.getElementById('ng-app'));
AppRoot.attr('ng-controller','app');
angular.bootstrap(document, ['app']);
}
);
app.js
'use strict';
define(['angular', 'ngRoute', 'ngSanitize'], function (angular, ngRoute, ngSanitize) {
angular.module('HashBangURLs', ['ngRoute']).config(['$locationProvider', function($location) {
$locatio
</pre>n.hashPrefix('!');
}]);
angular.module('HTML5ModeURLs', ['ngRoute']).config(['$locationProvider', function($location) {
$location.html5Mode(true);
}]);
var app = angular.module('app', ['HashBangURLs', 'ngSanitize'], function (
$routeProvider,
$locationProvider,
$httpProvider) {
});
});
config.jsの
'use strict';
define(['angular', 'app'], function (angular, app) {
return app.config([ '$routeProvider', function ($routeProvider) {
$routeProvider
.when('/:name',{
templateUrl: function(v){return "app/todo/views/"+v.name+".template.html";},
controller: function($q, $route, $rootScope){
return $route.current.params.name + "Controller";
}
})
.otherwise("/");
}]);
});
マイコントローラpage_requestedController
define(['angular', 'app', function(angular, app){
app.controller('page_rquestedController', function($scope){
$scope.title = "Hi from page_requested.controller.js";
console.log('controller is exicuted...');
});
}]);
今私の質問は:
- 私が探している何が正しいのですか? "これは私のアプリケーションのために安全ですか?
- 私はlayzyLoad.jsを使いたくありません - それは素晴らしいスクリプトですが、私はこのアプリで使いたいものではありません。
- コントローラを登録して私の体にscript要素は、私は私のconfig.jsのからこれを行うことができますか?
config.jsで$ routeProviderを使用してコントローラを動的にロードしています – Salil
こんにちは@Salilですが、何も表示されない(html)、何が問題なのか分かりますか? – manout