Javascript 如何使用angular获取输入框的值
Javascript 如何使用angular获取输入框的值,javascript,angularjs,Javascript,Angularjs,函数DefaultController($scope,navBarService){ var vm=这个; $scope.toggleHeader=true; $scope.userNameNav=''; //与其他控制器共享信息 $scope.$on('toggleHeader',函数(evt,数据){ $scope.toggleHeader=数据; }); $scope.$on('changeName',函数(evt,数据){ $scope.userNameNav=数据; }); $scop
函数DefaultController($scope,navBarService){
var vm=这个;
$scope.toggleHeader=true;
$scope.userNameNav='';
//与其他控制器共享信息
$scope.$on('toggleHeader',函数(evt,数据){
$scope.toggleHeader=数据;
});
$scope.$on('changeName',函数(evt,数据){
$scope.userNameNav=数据;
});
$scope.searchForItem=函数(){
log(“单击按钮”);
log($scope.userSearch);
};
}//结束默认控制器
.Navigation{
宽度:100%;
高度:25公分;
背景图像:url('http://wallpapercave.com/wp/UYnUUzz.jpg');
背景尺寸:封面;
背景位置:50%50%;
位置:粘性;
}
.导航内容{
浮动:对;
}
.搜索导航{
边界:0;
边框底部:1px纯红;
大纲:0;
}
租赁应用程序
{{userSearch}}
欢迎{{userNameNav}}
在将变量放入模型之前,应该在控制器中声明变量。您可以编写:$scope.formData={}
并在HTML和JS中使用此对象
使用此版本:
function DefaultController($scope, navBarService) {
var vm = this;
$scope.toggleHeader = true;
$scope.userNameNav ='';
$scope.formData = {};
//Sharing info with other controllers
$scope.$on('toggleHeader', function(evt, data) {
$scope.toggleHeader = data;
});
$scope.$on('changeName', function(evt, data) {
$scope.userNameNav = data;
});
$scope.searchForItem = function() {
console.log('button clicked');
console.log($scope.formData.userSearch);
};
}//end DefaultController
在模板中:
<input id='getUserInput' type="text" placeholder="Search Item" ng-model='formData.userSearch'/>{{ formData.userSearch }}
{{formData.userSearch}
不知道$scope出了什么问题,但您使用的是controller实例,因此在html模板中编写ng controller='DefaultController as ctrl',然后使用ctrl.userSearch,在javascript中使用vm.userSearch`它应该是$scope.userSearch代码>但您还需要在开始时定义它,如下面的“$scope.userNameNav=”`$scope.userSearch
ng model
指令的值是其控制器作用域上变量的名称,请注意,您的问题与缺少对象初始化有关。您应该声明:$scope.formData={}代码>之前。检查下面我的答案。它在plnkr中正常工作。