2017-05-29 1 views
0

Hier ist mein Codeng-Show nicht richtig funktioniert atfer ng-init

<div ng-init="$scope.bot_assistance='false'"> 
    <label for="switch">Bot Assistance: 
     <input type="checkbox" id="switch" ng-model="$scope.bot_assistance"> 
    </label><br/> 
    <p>Value:-{{ $scope.bot_assistance }}</p> 
    <div ng-hide="$scope.bot_assistance">Bot Assist Disabled</div> 
</div> 

Nach meiner Seite geladen ich den Wert von $scope.bot_assistance='false' sehen kann, aber warum mein ist ng-hide Bewertung true zu sein und nicht auf die zeigt nach oben Seite. Auch es zeigt Div-Block, nachdem ich wieder ein- und ausschalten. Also ich denke, es setzt ng-hide=true nach Prüfung der Checkbox und zeigt nach erneutem Klicken auf das Kontrollkästchen machen <div ng-hide="$scope.bot_assistance"> zu false, was ist, was ich will, dass es funktioniert, aber nach dem Laden der Seite zeigt es nicht die ng-ausblenden-Block. Warum kann es mir helfen? Danke im Voraus.

+0

Haben Sie auch wirklich nutzen $ Bereich in Ihrer Vorlage? –

+1

Warum wird '$ scope' in Sicht verwendet? Auch dafür ist "ng-init" nicht zuständig. Führen Sie diese Initialisierung im Controller durch. Lesen Sie 'ngInit' docs – charlietfl

+0

Ich brauchte die Initialisierung außerhalb des Controllers so verwendet ng-init mit $ scope –

Antwort

2
  1. nicht $scope in der Vorlage verwenden (sind Sie wirklich mit $scope.$scope in Ihrem Controller?)
  2. Do not initialize the initial value with ngInit
  3. nicht initialisieren boolean Variable mit einem String-Wert bot_assistance='false'
+0

Danke @Stanislav Kvitash für Ihre Antwort und Erklärungen –