で変数を使用して、私は2つのディレクティブがあります:httpリクエストからデータを取得$scope.originalData
変数を持っており、また、それを使用する機能を有している子ディレクティブから関数を呼び出すと、親ディレクティブ
指令A
を変数:
$scope.findStepEducatByActId = function(act_id){
console.info('findfindStepEducatByActId',$scope.originalData);
if(angular.isDefined($scope.originalData.connections)){
angular.forEach($scope.originalData.connections[0].con_detail,function(value,key){
if(value.act_id_from == act_id){
return value.educategory_from;
}
if(value.act_id_to == act_id){
return value.educategory_to;
}
});
}
};
(flowChart
と呼ばれている)指令B
がA
<flow-chart findStepEducatByActId="findStepEducatByActId(act_id)"></flow-chart>
のHTMLファイルテンプレートに渡されたこの機能を持っています
そして私は、そのファイル内$scope.originalData
をプリントアウトしています:私はこれを実行すると、私は、ログ取得
angular.module('slmFlowClass').directive('flowChart', [function() {
return {
restrict: 'E',
templateUrl: 'scripts/modules/slmFlowClass/FlowClass.FlowChart.Template.html',
replace: true,
scope: {
findStepEducatByActId: '&'
},
link: function($scope, $element, $attrs) {
$scope.showNodeTooltip = function($event, node){
$scope.findStepEducatByActId('708663');
}
}
:{{originalData}}
指令B
は、単純にその関数を呼び出しているfindfindStepEducatByActId undefined
を、しかし、HTML $scope.originalData
にこの変数に含まれるデータを見ることができます。 私の質問は、B
からこの関数を呼び出すと、なぜ$scope.originalData
がnullになるのですか?