2014-12-24 87 views
2

指令中正常的ng-controllercontroller之間有什麼區別。指令控制器和正常控制器之間的區別

<div ng-controller="MyCtrl"> 
    <directive></directive> 
</div> 

下面我有一個directiveMyCtrl和我的指導也有定義的controller

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

app.directive('map', function() { 
    return { 
     restrict: 'E', 
     controller: function(){} 
    } 
}); 

function MyCtrl($scope) {} 
  1. 是什麼正常ng-controllercontroller一個指令內部之間的差異。
  2. 爲什麼directive有一個controller函數?
+0

之間有什麼區別,這兩者之間沒有區別...指令可能想要獲取數據或執行一些操作在控制器上完成的模型,這就是爲什麼你有一個控制器的指令 –

+0

這樣可能會分享一些燈光給你的問題:http://stackoverflow.com/a/19227433/2777098 –

+1

我想,這個範圍是不同。當然,這取決於這是否是一個孤立的範圍。 – Eugene

回答

1

控制器是不適用它是您將應用在一定範圍內這種邏輯將在控制器內聲明不同功能的邏輯的容器,所以,真正的問題是不差,但是當一個函數使用此和何時使用其他。

指令主要用於代碼重用性,並將外部應用程序的一部分與外界隔離,其控制器是容器,其容納將在應用程序運行時調用的所有變量和函數。

從另一個角度來看,指令更像是C++語言中的類,因爲指令可以有自己的作用域,主要用於代碼重用性。 所以實際上這個問題更像是要求在一個類中聲明一個函數或在主函數

相關問題