2017-11-02 15 views
0

NET MVC内のすべてのコントローラとファクトリ/サービスを1つのCRMアプリケーションにロードし、クライアントサイドスクリプトにangle jを使用する必要がありますか?angular js:モジュールファイル

私は角度jを使うためにいくつかの記事を見てきており、それらのすべてがコントローラとサービス/工場をモジュール内に設定しており、それらはすべて一度に読み込まれます。

モジュール内のすべてのコントローラとサービスをロードする必要があるのですか?ページワイズを使用する必要があるときはいつでも、それらのjsを分離してページ単位で使用できますか?

私はASP.NET MVCパターンを使用してナビゲートしていますが、anglejsルートを使用する単一ページではありません。

+1

これは可能です。はい。 mvcルートの変更にどれだけのページがリロードされるかによっては難しいかもしれません。 oc-lazy-loadも見てください。 –

+0

@AluanHaddad okありがとう、私はページを分析して決定するでしょう。 –

答えて

0

はい、anglejsファイルを区切り、ページごとに1つのangularjsコントローラを使用できますが、コントローラまたはサービスのモジュール名は、角括弧[]内のメインモジュール(app.js)に登録する必要があります。

//app.js 
var app = angular.module('myApp', ['ngRoute','myApp.controller','myApp.create.controller']) 
      .config(function ($routeProvider,$locationProvider) { 
       $routeProvider 
       .when("/", { 
       templateUrl: 'home/home.html', 
       controller: 'HomeController', 
       controllerAs: 'home' 

       }).when("/create",{ 
       templateUrl: 'manage/create.html', 
       controller: 'CreateController', 
       controllerAs: 'create' 
       }) 
      }); 

//HomeController.js 
var module = angular.module('myApp.controller', ['myApp.service']); 
module.controller('HomeController', ['HomeService', 
    function (HomeService) { 

     var self = this; 
     self.EmpData = []; 

     HomeService.getAllEmployeesTable().then(onSuccess, onError); 

     function onSuccess(response) { 
      self.EmpData = response.data; 
     } 
     function onError(error) { 
      alert('Error fetching data'); 
     } 
    }]); 

//CreateController.js 
var module = angular.module('myApp.create.controller',['myApp.create.service']); 
module.controller('CreateController',['CreateService', 
    function(CreateService){ 
     var self =this; 

     self.person = { 
      name : "", email:"",address:"",telephone:"" 
     } 

     self.submitPerson = function(){ 
      console.log(self.person); 
      CreateService.submitPerson(self.person).then(onSuccess,onError); 
     } 

     var onSuccess = function(response){ 
      alert("User has been added succesffully"); 
     } 
     var onError = function(error){ 
      alert("Error creating person"); 
     } 
    } 
]); 
+0

私の場合は実際にあなたが私の質問を注意深く読んでいない場合、私はシングルページアプリケーションを適用していないので、私の場合はルートを使用する必要はありません。私はasp.net mvc actionresultをナビゲーションpuropseのために使用していますので、まずモジュールjsをロードしてから、尊重されたページjsなどをロードする必要があります。 –