web-dev-qa-db-fra.com

AngularJS: Comment définir la valeur par défaut sur ng-model = "searchText"?

Je ne peux pas définir une valeur par défaut sur ng-model = "searchText". Voici le code que j'utilise
<input ng-model="searchText" value="can you see me" />

Est-ce que quelqu'un peut m'aider avec ça?

14
Sachin B. R.

1ère solution: consiste simplement à initier le searchText dans le contrôleur.

App.controller('mainController',['$scope', function($scope) {
   $scope.searchText  = "can you see me";
}]);

2ème solution: est d'utiliser ng-init insteat of value

<input ng-model="searchText" ng-init="searchText ='can you see me'"></input>
28
Marwen Cherif

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="">
<div >
  <input ng-model="searchText" type="text" ng-init="searchText='your text'"/>
</div>  
  </div>  

vous pouvez utiliser ng-init 

10
Ashish Mehta

Essayez ce code suivant: 

     <input ng-model="searchText" ></input>

Dans votre contrôleur

    $scope.searchText = "your default value";

Edit: Si vous ne voulez pas initialiser la valeur par défaut dans le contrôleur, faites simplement 

      <input value="your default value" ></input>
5
carton

N'utilisez pas ng-init dans votre champ de saisie pour définir la valeur. Ce n'est pas obligatoire.

Il suffit de définir la portée de votre modèle sur la valeur souhaitée. S'il s'agit simplement d'un texte d'espace réservé, il serait préférable d'utiliser l'attribut d'espace réservé html5 sur votre élément d'entrée.

<input type="text" ng-model="someText" placeholder="Initial Text">

Cela vous donnera du texte dans le champ de saisie sans qu'il soit nécessaire d'ajouter quoi que ce soit à la portée du contrôleur.

Si vous souhaitez que le texte soit une valeur que vous pouvez transmettre sans renseigner le champ de saisie, vous devrez le définir dans votre contrôleur.

$scope.someText = "Some Text";
4
Joshua Kelly

Vous pouvez définir la valeur par défaut dans le contrôleur. Comme ça:

app.controller('myCtrl', function($scope){
   $scope.searchText = "Some default value";
});

Et laissez l'attribut value vide sur la balise input.

0
Chetan