AngularJS:如何将默认值设置为 ng-model="searchText"?

问题描述 投票:0回答:6

我无法将默认值设置为 ng-model="searchText"。这是我正在使用的代码

<input ng-model="searchText" value="can you see me" />

有人可以帮我吗?

html angularjs
6个回答
41
投票

第一个解决方案: 就是简单地在控制器中初始化 searchText。

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

第二个解决方案:是使用ng-init而不是value

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

10
投票

<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>  

你可以使用

ng-init


5
投票

尝试以下代码:

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

在您的控制器中

    $scope.searchText = "your default value";

编辑:如果您不想初始化控制器中的默认值,只需执行

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

4
投票

请勿在输入字段上使用 ng-init 来设置值。这不是必需的。

只需将模型的范围设置为您想要的值即可。如果只是占位符文本,最好在输入元素上使用 html5 placeholder 属性。

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

这将在输入字段中为您提供一些文本,而无需向控制器范围添加任何内容。

如果您希望文本作为一个值,您可以在不填写输入字段的情况下传递,而不需要在控制器中进行设置。

$scope.someText = "Some Text";

1
投票

您可以在控制器中设置默认值。像这样:

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

并将输入标签上的值属性保留为空。


0
投票

对于后续的 Angular 版本:

在你的 ts 文件中:

export class SearchComponent implements OnInit {
  search: string;


  ngOnInit(): void {
    this.search = "Some default value";
  }
}

html 文件包含:

<input [(ngModel)]="searchText">
© www.soinside.com 2019 - 2024. All rights reserved.