0
この厄介なバグが発生し、データをディレクティブにブロードキャストしますが、ディレクティブの$on
は受信しません。ブロードキャスト後にディレクティブデータが表示されない場合があります
したがって、私のテーブルには何も表示されず、ユーザーにとってはひどいものです。
<div>
<h1>Test Results</h1>
...
<results></results>
</div>
resultsCtrl.jsコントローラ:
$timeout(function() {
$rootScope.$broadcast('show-results', test_session.question_objects);
}, 100);
results.html指示テンプレート(取り除か最もフィールド):
test_results.htmlは(ディレクティブのインスタンスを含みます)
<div class="results">
<table class="table table-bordered table-striped">
<thead>
<tr>
<td ng-if="average_times && !$root.is_mobile">
<span ng-click="sortType = 'question.average_timing'; sortReverse = !sortReverse">
Avg. Time
</span>
</td>
</tr>
</thead>
<tbody>
<tr ng-repeat="q in questions | orderBy:sortType:sortReverse | filter:searchQuestions track by $index">
<td ng-if="q.average_timing && !$root.is_mobile" ng-click="$root.openDirections('question', q)">{{ q.average_timing }}</td>
</tr>
</tbody>
</table>
</div>
results.js指示:
scope.$on('show-results', function(event, test_session) {
setTestSessionData(test_session);
});
...
function setTestSessionData (test_session) {
scope.questions = test_session;
}
正確にこれが起こるのはいつかわかりません。最初はサイトを初めて読み込むと思っていましたが、それ以来、データをレンダリングしました。
ですから、本当にここ異なっやっている唯一のものは、ディレクティブに親の結果を結合さ: '<結果が得るデータ=「親(結果)」>'そして '結果: '&' '私は、これがデータが '$ on'で受信されていることをどうやって混同していますか? '$ on'はすでに購読している放送を聞いてはいけませんか? – Growler
バインディング部分を無視して、親コントローラからのブロードキャストを行うたびに、唯一のことを覚えておいてください。ローカルスコープ –
ササンクで$で聴いています。私が行ったスコープの違いとあなたがやったことと、あなたの方法でいつもコンテンツがロードされていることを確認するのはなぜですか? – Growler