AngularJS控制器-指令->;从指令调用控制器函数
我有一个关于控制器和指令之间函数可见性的问题。我有一个控制器和一个指令。指令看起来是这样的AngularJS控制器-指令->;从指令调用控制器函数,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我有一个关于控制器和指令之间函数可见性的问题。我有一个控制器和一个指令。指令看起来是这样的 (function() { 'use strict'; angular .module('myproject.schedule') .directive('dirname', dirname); function dirname() { var directive = { restrict: 'A', replace: true, s
(function() {
'use strict';
angular
.module('myproject.schedule')
.directive('dirname', dirname);
function dirname() {
var directive = {
restrict: 'A',
replace: true,
scope: {
currentDateScheduler: "=",
...
},
controller: DirnameController,
controllerAs: 'vm',
bindToController: true,
templateUrl: ... directive.html
我的控制器如下所示:
(function() {
'use strict';
angular
.module('myproject.schedule')
.controller('MyController', MyController);
...
在directive.html文件中,我有一个ng点击,它调用了我的控制器的功能,这很好
其实现在我不知道为什么?我认为指令有自己的名称空间,控制器的函数在。。。directive.html
非常感谢你的帮助 控制器作用域可用于声明控制器的DOM元素中作为子元素出现的任何指令。例如
<div ng-controller="ctrl1">
<dirname></dirnam> <!-- this has access to ctrl1 scope -->
</div>
控制器也可以嵌套。在这种情况下,作用域再次具有自上而下的效果,即在最顶层控制器中定义的函数可用于包含在子控制器中的dom元素。此外,如果此子控制器声明了相同的功能,则这些功能将覆盖父控制器的功能
希望这有助于展示如何在ngClick中调用函数。发布一个完整的示例。非常感谢!这真的很有帮助!
angular.module('myApp',[])
.controller('myController',function($scope){
$scope.clickMe = function(){
alert('clicked from the controller');
}
})
.directive('dirname', function(){
return {
controller: function($scope){
$scope.clickMe = function(){ alert('clicked from directive'); };
},
};
});