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結果。
是否有我遇到的問題的已知原因?將模板中定義的子元素的引用傳遞給作用域是否有固定的解決方案?