0
を動作しません。これは私がタイトルに記載されている問題を理解するために作成したサンプルのディレクティブです:
define(['angular'], function(angular) {
'use strict';
var randomElement = angular.module('RandomElement', []);
randomElement.directive('randomElement', function() { return {
restrict: 'E',
transclude: false,
template: '<div><span class="random-span"></span></div>',
controller: function($scope, $element) {
// This method is triggered in a ng-click binding
$scope.findSpan = function() {
// About 20-30% of page reloads, this returns 0 results
console.log($element.find('.random-span'));
}
}
}});
return randomElement;
});
$scope.findSpan
メソッドに注意してください。これは私が抱えている問題です:ページリロードの約20〜30%で、$element.find()
(または$element.children()
)は0の結果を返します。
問題が発生している原因は不明ですか?テンプレートに定義されているサブ要素への参照をスコープに渡すための堅牢なソリューションはありますか?