Новое для углового и попытка обернуть мою голову вокруг этих областей. Я хочу, чтобы функции наследовались бесконечно вниз по моему дереву. Код ниже - это то, что у меня есть, и оно работает на первом уровне, но после этого я как бы проиграл. Есть идеи?Угловая рекурсивная директива с функциями
<tree get-branch="GetBranch(parent, $event)" show-menu="ShowMenu(parent)" family="i"></tree>
$scope.GetBranch = function (parent, $event) {...
$scope.ShowMenu = function(parent) {...
App.directive("tree", function (RecursionHelper) {
return {
restrict: "E",
scope: {
getBranch: "&",
showMenu: "&",
family: '='
},
template:
'<a ng-right-click="showMenu({ parent: family })" ng-click="getBranch({parent:family, $event:$event})" >{{ family.Alias }}</a>' +
'<ul ng-if="family.IsCategory">' +
'<li ng-repeat="child in family.Children" ng-class="{category: child.IsCategory}">' +
'<tree get-branch="getBranch({family:family, $event:$event})" show-menu="showMenu({ family: family })" family="child"></tree>' +
'</li>' +
'</ul>',
compile: function (element) {
return RecursionHelper.compile(element, function (scope, iElement, iAttrs, controller, transcludeFn) {
// Define your normal link function here.
// Alternative: instead of passing a function,
// you can also pass an object with
// a 'pre'- and 'post'-link function.
});
}
};
});
Сделал быстрый поиск и: должен ли я использовать сервис, а затем добавить его в свою область действия со ссылкой? Или как я могу получить его там? – user3046591
Да, вы должны получить его с помощью инъекции, как вы используете $ scope или любое угловое обслуживание. Например, если ваша служба называется «myFunctions», то просто добавьте myFunctions помимо $ scope – sam