在過去的幾天中,我已經閱讀了很多關於指令和控制器之間的連接。我已經做了一些觀察,但是很難將它們放在一起,並可以使用一些指導。把控制器和指令交織在一起的方式
大約有四種或五種方式我看到控制器和指令混合在一起。
鑑於:
angular.module('myApp', []);
myApp.controller('ctrlName', function($scope){
$scope.someVar = "some value";
});
我看到的指令和控制器進行交互和被附接至彼此以下列方式:
1)以一個點
myApp.controller('ctrlName', function($scope){
$scope.someVar = "some value within controller";
})
.directive('drtvName', function(){
return {
scope: {
someVar: 'some value within directive'
}
}
});
2鏈接在一起)控制器指定爲指令的方法。這如何與控制器以上,如果它是點鏈接(如#1)
myApp.directive('drtvName', function(){
scope: {/*not sure what it means when this is simply an empty object*/},
controller: function(scope){
/*is this completely separate from myApp.controller('name', function(){});*/
}
});
3)控制器被指定爲應用程序中的單獨的控制器名稱的一部分進行交互。我真的不知道這兩個scope
將如何混合
myApp.directive('drtvName', function(){
controller: 'ctrlName',
scope: {
connectedToCtrlScopeOrJustHTMLView: 'dunno'
}
});
4)這裏是一個新的。控制器作爲父控制器是必需的。當我用這個修修補補,我甚至不能得到它使用鏈接的方法來工作,所以我不知道什麼時候會是有用的
myApp.directive(drtvName', function(){
scope: {},
require: '^myParentController' //not sure what scope will be one line about with this option
});