я следующую угловую директиву:Угловая Директива - Scope возвращает 0 вместо значения
var OrgChartDirective = function() {
return {
restrict: 'AE',
scope: {
source : '=',
container : '=',
stack : '=',
depth : '=',
interactive: '=',
showLevels : '=',
clicked : '=' // We use '=' here rather than '&' for this callback function
},
link: function(scope, element, attrs) {
var target = $(element);
var source = $('#' + scope.source);
var options = {
container : target,
nodeClicked: scope.clicked,
stack : scope.stack,
depth : scope.depth,
interactive: scope.interactive,
showLevels : scope.showLevels
};
console.log("Drawing org chart at " + scope.source + " on " + target);
console.log(scope);
source.orgChart(options);
}
}
};
добавить его на страницу как:
<org-chart source='list-for-wf'/>
или <div org-chart source='list-for-wf'> </div>
Проблема, на мой консоль, я вижу:
Drawing org chart at 0 on [object Object]
Почему источник возвращает 0
, это похоже на jquery, когда вы пытаетесь получить доступ к недопустимому элементу. Даже если я зарегистрирую source
в качестве первой линии функции связи, это 0
Почему это? Я пробовал data-source="..."
и всевозможные вещи. Есть идеи?
могли бы попытаться изменить 'источник: '=' 'to' source: '@' ' –
Это тоже работает, спасибо! – mikeb
Последствия изменения '=' на '@' в том, что вы счастливы, что ваш источник привязан только к одному пути. – AKrishan