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中正常工作。