У меня есть список в контроллереA - controllerA также имеет функцию, которая определяет, был ли импортирован элемент в этом списке. Я хотел бы передать это логическое значение в каждую из перечисленных директив объектов (поэтому controllerB - контроллер для каждого из объектов - может видеть, был ли импортирован его объект), но он не работает, как я надеялся.Передача результата функции директиве
У меня есть следующие (упрощенно) в моем HTML:
<tbody>
<tr objectpane object="object" objectIsImported="objectIsImported(object)"></tr>
</tbody>
objectIsImported предполагается прохождение булево до objectPane экземпляра.
Эта точка зрения в паре с нг-контроллера (controllerA), который имеет следующую функцию, определенную:
$scope.objectIsImported = function(object) {
alert("never gets hit");
};
objectpane директива следующим образом:
aoo.directive('objectpane', ['$log', function ($log) {
return {
restrict: 'A',
templateUrl: '/App/objectmanager/objectpane.html',
scope: {
object: "=",
objectIsImported: "="
},
controller: 'ObjectPaneController'
};
}]);
В ObjectPaneController (ControllerB) Я это :
$scope.alreadyImported = $scope.objectIsImported; // from scope in directive
Проблема в том, что $ scope.objectIsImported от controllerA не получает удар, никогда. Что я делаю не так? Все остальное работает между контроллерами/директивой, просто передача этой функции в директиву, похоже, не работает.
Это работает, если вы изменяете атрибут html на 'object-is-imported' (дефисы вместо прописных букв)? – Martin
@ Мартин ничего себе, да. Угловой урок: узнал. Не стесняйтесь ответить на этот вопрос, и я отмечу его принятым :) Спасибо! – RobVious