2016-03-26 4 views
1

Ich bin ein seltsames Problem mit dem Code unten mit Blick auf ..Winkelausdrücke funktionieren nicht in dem Steuerungsbereich

wann immer ich die ng-Controller = „Seite“ aus dem Body-Tag zu entfernen, starten Sie die Ausdrücke ausgewertet zu werden. Bei der Anwendung dieses Controllers auf body-Tags werden die Ausdrücke jedoch eher als Text gedruckt als ausgewertet.

Unten ist mein entsprechender Code (Snippet):

<html ng-app="app"> 
    <head> 
     <!-- links removed for brevity --> 
     <script> 
      var app = angular.module('app',[]); 
      app.controller('page',function($scope){ 
       $scope.segment.name = 'asdf'; 
      }); 
     </script> 
    </head> 
    <body ng-controller="page" style="padding:0px;"> 
     <!-- additional markup removed for brevity --> 
     <form class="navbar-form navbar-right" role="search"> 
      <div class="form-group"> 
       <input type="text" class="form-control" placeholder="Enter Portal ID" ng-model="page.segment.name"/> 
      </div> 
      <button class="btn btn-default">Search {{page.segment.name}}</button> 
     </form> 
    </body> 
</html> 

ich vielleicht einige Fehler in dem obigen Code als Code unten mache, die ich als Proof of Concept funktioniert gut geschrieben.

POC-Code (Snippet):

<html ng-app="app"> 
    <head> 
     <!-- links removed for brevity --> 
    </head> 
    <body ng-controller="page"> 
     <a>Name : {{page.segment.name}}</a> 
     <input type = "text" ng-model="page.segment.name"/> 
    </body> 
    <!-- links removed for brevity --> 
    <script> 
     var app = angular.module('app',[]); 
     app.controller('page',['$scope',function($scope){}]); 
    </script> 
</html> 

freundlicher Vielen Dank im Voraus helfen ..

+1

Überprüfen Sie [MCVE]. Beiträge, die nur Links enthalten, sind verpönt, denn was passiert, wenn diese Verbindung in der Zukunft abstirbt? Jetzt kann Ihre Frage nicht als Referenz für jemand anderen mit einer ähnlichen Frage verwendet werden. – Lex

Antwort

0

Sie sind wahrscheinlich ein Fehler in der Konsole zu bekommen. Ich denke, es ist etwas Ähnliches wie "Eigenschaft 'Name' von undefined nicht festlegen kann." Was Sie hier tun, ist nicht gültig:

$scope.segment.name = 'asdf'; 

Sie müssen entweder dies tun:

$scope.segment = {}; 
$scope.segment.name = 'asdf'; 

Oder diese:

$scope.segment = { name: 'asdf' }; 

Sie haben die segment Objekt explizit, bevor Sie erstellen Versuchen Sie, Eigenschaften dafür festzulegen.

Verwandte Themen