簡體   English   中英

使用模塊注冊控制器時

[英]When use module to register controllers

我有兩個功能代碼來向Angular注冊控制器。

第一個代碼是:

在app.js中:

var app = angular.module('myapp', ['...']);
app.config(...

    $stateProvider
    .state('first', { 
         url: '/first', 
         templateUrl: 'first.html', 
         controller: 'myController1'
    }).state('second', { 
         url: '/second', 
         templateUrl: 'second.html', 
         controller: 'myController2'
    });
);

在myControllers.js中

app.controller('myController1', function(){
      ...
});

app.controller('myController2', function(){
      ...
});

第二個代碼是:

在app.js中:

var app = angular.module('myapp', ['...', 'myControllers']);
app.config(...

    $stateProvider
    .state('first', { 
         url: '/first', 
         templateUrl: 'first.html', 
         controller: 'myController1'
    }).state('second', { 
         url: '/second', 
         templateUrl: 'second.html', 
         controller: 'myController2'
    });
);

在myControllers.js中

var myControllers = angular.module('myControllers', []);

myControllers.controller('myController1', function(){
      ...
});

myControllers.controller('myController2', function(){
      ...
});

最好的解決方案是什么? 為什么要使用模塊包含幾個控制器? 謝謝。

Angular中的模塊是一種將相關代碼邏輯打包成塊的方法。 這些塊可以稍后組合(請考慮其他語言的第三方庫)。

通常,這是將外部Angular代碼(來自github等)包含到項目中的方式。 外部項目將創建一個模塊,供您用作模塊依賴項。 這是angular.module('myApp', ['myDependency'])方式。

這是一項可選功能,但在大型(或自然隔離)項目中很有用。

如果您不需要模塊。 我建議您使用更簡單的(第一個)解決方案。

模塊文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM