i facing strange problem below code..
whenever remove ng-controller="page" body tag, expressions start getting evaluated. on applying controller on body tag, expressions tend printed text rather being evaluated.
below relevant code (snippet):
<html ng-app="app"> <head> <!-- links removed 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 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>
i possibly making blunder in above code below code wrote proof of concept works well.
poc code (snippet):
<html ng-app="app"> <head> <!-- links removed brevity --> </head> <body ng-controller="page"> <a>name : {{page.segment.name}}</a> <input type = "text" ng-model="page.segment.name"/> </body> <!-- links removed brevity --> <script> var app = angular.module('app',[]); app.controller('page',['$scope',function($scope){}]); </script> </html>
kindly in advance..
you getting error in console. guess it's similar "cannot set property 'name' of undefined." doing here not valid:
$scope.segment.name = 'asdf';
you need either this:
$scope.segment = {}; $scope.segment.name = 'asdf';
or this:
$scope.segment = { name: 'asdf' };
you have create segment
object explicitly before attempt set properties on it.
Comments
Post a Comment