2013-06-19 7 views
8

अद्यतन नहीं कर रहा है मुझे यकीन है कि यह फिर से बेवकूफ है। मैं angularjs सीख रहा हूँ तो मुझे अभी तक पूरा गुंजाइश नहीं मिल रहा है, लेकिन मैं वहां जा रहा हूँ। मैंने सब कुछ करने की कोशिश की और वास्तव में कुछ भी खोजा जो मुझे मिल सकता था लेकिन कुछ भी काम नहीं कर रहा था।एंगुलरज जड़कोप ngClass

मैं अपनी लेआउट फ़ाइल में एक ng-class = "..." करने की कोशिश कर रहा हूं लेकिन अभिव्यक्ति मेरे नियंत्रक में सेट है लेकिन किसी भी तरह इसे प्रस्तुत नहीं किया गया है। जब मैं इसे अपनी एनजी-व्यू फ़ाइल में डालता हूं तो इसे प्रस्तुत किया जाता है। मुझे लगता है कि वह केवल फाइल का हिस्सा प्रस्तुत करता है लेकिन मैं चाहता हूं कि वह एनजी-क्लास को एनजी-व्यू पर भी प्रस्तुत करे। क्या यह संभव है या आंशिक HTML फ़ाइल के अंदर एक div में डालना आसान है।

सरल html फ़ाइल

<body> 
<ng-view ng-class="{ 'splash': splash=='splash' }"></ng-view> 
</body> 

मेरे नियंत्रक

angular.module('xxx.splash') 
    .controller('IndexCtrl', function($scope, $rootScope, config) { 
     $rootScope.splash = 'splash'; 

     $scope.login = function(e) { 
      alert('Soon. How soon? Very soon.'); 
     } 
    }); 

उत्तर

31

जब आप जड़ दायरे में एक चर को परिभाषित है, तो आप एक ही तरह से यह तक नहीं पहुँच सकता के रूप में आप यह स्थानीय में परिभाषित गुंजाइश। $rootScope चर, $root.<variableName> का उपयोग कर AngularJS टेम्पलेट्स में सुगम हो सके तो अपने HTML फ़ाइल इस को बदला जाना चाहिए:

<body> 
<ng-view ng-class="{ 'splash': $root.splash=='splash' }"></ng-view> 
</body> 

आप में $scope और $rootScope की diffrence देख सकते हैं इस demo

+5

यह क्यों नहीं बुलाया जाता है " एचटीएमएल पक्ष पर $ rootScope "? –

+0

@ डेविडकार्ल्सन क्योंकि यह पहले से ही एक गुंजाइश है। प्रत्येक स्कोप में '$ रूट' विशेषता है जो टेम्पलेट पर '$ रूटस्कोप' पर इंगित करती है, आपको कुछ गुंजाइश मिलती है जिसमें यह सूचक भी होता है, इसलिए नाम। यद्यपि इसका नाम बदलना कम भ्रमित हो सकता है ... – estani

संबंधित मुद्दे