Function AngularJS文本框值返回未定义的

Function AngularJS文本框值返回未定义的,function,angularjs,mode,Function,Angularjs,Mode,当我按下按钮时,我想在控制台中打印文本框的值。但是我的文本框返回一个未定义的。看起来所有的代码都工作得很完美,我和以前使用的其他代码一样,但是现在不工作了 这是我的html代码: <form class="form-horizontal"> <input type="text" ng-model="add" ng-model-instant><button class="btn" ng-click="order()"><i class=

当我按下按钮时,我想在控制台中打印文本框的值。但是我的文本框返回一个未定义的。看起来所有的代码都工作得很完美,我和以前使用的其他代码一样,但是现在不工作了

这是我的html代码:

<form class="form-horizontal">    
     <input type="text" ng-model="add" ng-model-instant><button class="btn" ng-click="order()"><i class="icon-plus"></i>Order!</button>
</form>
为什么我的文本框未定义?

function OrderCtrl($rootScope) {    
$rootScope.order = function() { console.log($rootScope.add); $rootScope.add = "";     };
}
使用:

由于表单存在于
OrderCtrl
下,因此需要在
OrderCtrl
控制器中使用
$scope
来获取任何数据。但是,当然,您可以在
$rootScope


请参见

中的示例请显示所有代码。听起来你的控制器有问题。为什么要使用
$rootScope
?添加了更多我的代码。BoekenCtrl和HomeCtrl工作正常。我使用$rootScope'是因为应用程序很简单,不需要服务。因此,您的表单引用了
OrderCtrl
。您是否尝试将日志打印到
OrderCtrl
(未运行)?我认为应该改用
$rootScope.order=function()
使用
$scope.order=function()
。因为在html中使用特定的
范围
。那么
body呢?
ng controller=“OrderCtrl”?是的,我的表单使用OrderCtrl并尝试将其打印到OrderCtrl中。它说的是未定义的。您是指$rootscope.order还是$scope.orde。”原因$scope.order出现错误。因为
OrderCtrl
仅保留
$rootScope
,很抱歉,已修复使用上述代码无法解决问题。还是没有定义。我贴了小提琴,请看一下。
function OrderCtrl($rootScope) {    
$rootScope.order = function() { console.log($rootScope.add); $rootScope.add = "";     };
}
function OrderCtrl($scope) {    
$scope.order = function() {
    console.log($scope.add);
    $scope.add = "";
 };
}