如何将输入值输入Angular的$ scope?

Arh*_*yaa 8 javascript angularjs angularjs-scope angularjs-ng-model

我是Angular的新手,我正在尝试做一些非常基本的事情.这是视图的一部分(所有角度文件都添加到其他地方):

 <div ng-controller='ctrl'>
    <input type='text' ng-model='id'>
 </div>
Run Code Online (Sandbox Code Playgroud)

这是我的控制器:

 module.controller('ctrl',['$scope', function ($scope) {

    // get the scope value here
}]);
Run Code Online (Sandbox Code Playgroud)

我想做的事情非常简单.我想使用输入值.我尝试了类似的东西,$scope.data = []$scope.data.push($scope.id)创建一个具有范围值的数组,但它不起作用.当我试图显示该值时,我在控制台上得到了一个"未定义".

你们有什么想法吗?

编辑:视图还有一个带ng-click指令的按钮,它触发控制器的功能,我试图获取我的值.

Tom*_*Tom 15

该值将自动添加$scope到该input元素中,但您必须在元素中键入内容.

也就是说,你需要触发一些东西来获得这个价值.例如,你有评论的地方// get the scope value here- 一旦控制器被初始化并且再也没有被调用,它就会被触发; 所以,它会在那时记录未定义.但是,如果您将其设置为按钮单击或其他内容,您将看到它可用:

<div ng-controller='ctrl'>
   <input type='text' ng-model='id'>
   <button ng-click="logId()">Log ID</button>
</div>
Run Code Online (Sandbox Code Playgroud)

而你的控制器:

module.controller('ctrl',['$scope', function ($scope) {
    $scope.logId = function() {
        console.log($scope.id);
    }
}]);
Run Code Online (Sandbox Code Playgroud)

现在在输入中键入内容并单击按钮.