У меня есть две директивы, и я хотел, чтобы использовать его как так:Доступ сфера из родительской директивы angularjs
<m-list m-searchable></m-list>
Таким образом, две директивы были m-list
и m-searchable
, теперь я хочу, чтобы получить доступ и манипулировать сферу действия m-list
, когда я прилагаю директиву m-searchable
.
У меня есть это:
'use strict';
angular.module('app')
.directive('mList', function() {
return {
restrict: 'E',
scope: {},
controller: function($rootScope) {
var vm = this;
vm.name = 'joey';
},
controllerAs: 'ctrl',
bindToController: true,
templateUrl: '...'
};
});
И мои м-поиска выглядит следующим образом:
angular.module('app')
.directive('mSearchable', function() {
return {
restrict: 'A',
scope: {},
controllerAs: 'ctrl',
bindToController: true,
replace: true,
controller: function($rootScope, $scope) {
// I want console.log the scope of the directive where I attached the `m-searchable`
}
};
});
Я хочу console.log
сферу действия директивы, где я прикрепил m-searchable
. Как мне получить доступ к vm.name
?
Добавление 'require: 'mList'' к вашему определению' mSearchable' даст вам доступ к контроллеру 'mList' через четвертый аргумент функции' link'. https://docs.angularjs.org/api/ng/service/$compile#-require- – miqid