我无法将默认值设置为 ng-model="searchText"。这是我正在使用的代码
<input ng-model="searchText" value="can you see me" />
有人可以帮我吗?
第一个解决方案: 就是简单地在控制器中初始化 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>
<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
尝试以下代码:
<input ng-model="searchText" ></input>
在您的控制器中
$scope.searchText = "your default value";
编辑:如果您不想初始化控制器中的默认值,只需执行
<input value="your default value" ></input>
请勿在输入字段上使用 ng-init 来设置值。这不是必需的。
只需将模型的范围设置为您想要的值即可。如果只是占位符文本,最好在输入元素上使用 html5 placeholder 属性。
<input type="text" ng-model="someText" placeholder="Initial Text">
这将在输入字段中为您提供一些文本,而无需向控制器范围添加任何内容。
如果您希望文本作为一个值,您可以在不填写输入字段的情况下传递,而不需要在控制器中进行设置。
$scope.someText = "Some Text";
您可以在控制器中设置默认值。像这样:
app.controller('myCtrl', function($scope){
$scope.searchText = "Some default value";
});
并将输入标签上的值属性保留为空。
对于后续的 Angular 版本:
在你的 ts 文件中:
export class SearchComponent implements OnInit {
search: string;
ngOnInit(): void {
this.search = "Some default value";
}
}
html 文件包含:
<input [(ngModel)]="searchText">