我的HTML看起来像这样:如何在角度1.x中调用两次嵌套方法?
控制器HTML:
<div ng-controller="Ctrl">
<first-directive></first-directive>
</div>
第一指令HTML
<li>
<second-directive></second-directive>
</li>
控制器JS:
app.controller('Ctrl', (#scope) => {
$scope.foo = function() {
console.log('do smthn');
}
});
第一指令:
app.directive('first-directive', function(){
return {
restrict: 'E',
templateUrl: '/partials/first-directive.html',
replace: true,
scope: {
// some data
}
controllerAs: function(){}
}
}
第二指令:
app.directive('second-directive', function(){
return {
restrict: 'E',
templateUrl: '/partials/second-directive.html',
controllerAs: function(){}
}
}
所以我有嵌套的指令控制器和有另一个嵌套指令。当我试图从第一个指令调用$ parent.foo()时,它可以工作。当我试图从第二指令调用$ parent。$ parent.foo()时,它不起作用。我也尝试使用第二指令语法中的ng-controller="Ctrl as ctrl"
和ctrl.foo()
,但它也不起作用。为什么?
我没有在ng-controller中添加第二个指令。我添加second-directive的唯一地方是在first-directive中。我不使用ng,如果有的话。 –
你可以尝试从第二个指令$ parent.foo(),因为它没有隔离范围。 –
我不认为这是两层嵌套 –