javascript - हिंदी में एचटीएमएल परिभाषा




कोणीय के एनजी-इनिट से निकलने वाले आईडी के द्वारा html तत्व कैसे प्राप्त करें (2)

जब मैं एनजी-क्लिक का उपयोग करता हूं, तब आईडी के द्वारा html का तत्व मिल सकता था, लेकिन एनजी-इनट के साथ मैं रिक्त हो जाता हूं। कृपया मेरी कलम http://codepen.io/solidet/pen/pbJMjq देखें

एचटीएमएल

<script type="text/javascript">
    var memId = "bb7de28f-0f89-4f14-8575-d494203acec7";
</script>   

<div  ng-app="myapp" ng-controller="MainCtrl" ng-init="getMember(memId)">
    <span id="audio-{{memId}}">
        Your mem ID: {{memId}}
    </span>     
    <span ng-click="getMember(memId)"> click me <span>
</div>

नियंत्रक

var app = angular.module('myapp', []);

app.controller('MainCtrl', ['$scope', '$window', function($scope, $window) {
  $scope.memId = $window.memId;

  $scope.getMember = function(id) {
    console.log(id);
    var voice = document.getElementById('audio-'+ id);
    console.log(voice);
  };
}]);

आप ng-init में DOM तत्वों तक पहुंच नहीं सकते हैं, क्योंकि अभी तक वे इस बिंदु पर DOM में नहीं जोड़े गए हैं। सीधे कोनो में डॉम तत्वों तक पहुंचने के लिए वैसे भी सफ़ल किया जाता है, इसलिए शायद आप अपने कोड डिज़ाइन को फिर से सोचें।

उस निर्देश के उचित उपयोग के लिए https://docs.angularjs.org/api/ng/directive/ngInit देखें।

ngInit का केवल कुछ उपयुक्त उपयोग हैं, जैसे कि ngRepeat विशेष गुणों को अलियासिंग के लिए, जैसा कि नीचे डेमो में देखा गया है; और सर्वर साइड स्क्रिप्टिंग के माध्यम से डेटा इंजेक्शन के लिए। इन कुछ मामलों के अलावा, आप एक क्षेत्र पर मूल्यों को इनिशियलाइज़ करने के लिए एनजीआईआईटी के बजाय नियंत्रकों का उपयोग करना चाहिए।


आप इसे कोणीय $ टाइमआउट के माध्यम से प्राप्त कर सकते हैं, जब तक कि कोणीय चक्र समाप्त हो गया और तत्वों को प्रदान किए जाने तक इंतजार किया जाता है

नियंत्रक

var app = angular.module('myapp', []);

app.controller('MainCtrl', ['$scope', '$window', '$timeout', function($scope, $window, $timeout) {
    $scope.memId = $window.memId;
    $scope.getMember = function(id) {

        $timeout(function() {
            console.log(document.querySelector('#audio-' + id))
        });
    };

}]);





angularjs-scope