Angularjs 未创建隔离作用域时如何访问指令的子控制器方法
我试图创建一个指令,它有自己的控制器,其中包含一些方法。我正在设置Angularjs 未创建隔离作用域时如何访问指令的子控制器方法,angularjs,scope,angularjs-ng-transclude,Angularjs,Scope,Angularjs Ng Transclude,我试图创建一个指令,它有自己的控制器,其中包含一些方法。我正在设置scope:false,以确保该指令不会创建孤立的作用域 指令定义为: angular.controller("myController", function($scope){ var parentCtrl = this; parentCtrl.otherMethod = function(){ //Method body } }) angular.directive('customD
scope:false
,以确保该指令不会创建孤立的作用域
指令定义为:
angular.controller("myController", function($scope){
var parentCtrl = this;
parentCtrl.otherMethod = function(){
//Method body
}
})
angular.directive('customDirective',function(){
return {
scope : false,
controller: function(){
var ctrl = this;
this.someMethod = function($scope){
console.log("Hello World");
}
}
}
});
用法:
<div ng-controller="myController as myCtrl">
<custom-directive>
<button ng-click="someMethod()">click me</button>
</custom-directive>
</div>
点击我
我无法访问方法someMethod()
。
当我试图通过巴塔朗找到它时,我甚至没有把它放在任何范围内。
有人能帮忙吗?在JSFIDLE或其他替代文件中提供您的代码。下面是Plnkr模拟问题的链接。