Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 奇怪的角度模型问题_Javascript_Html_Angularjs_Model - Fatal编程技术网

Javascript 奇怪的角度模型问题

Javascript 奇怪的角度模型问题,javascript,html,angularjs,model,Javascript,Html,Angularjs,Model,关于我的Angular应用程序,我有一个奇怪的问题 我想在用户在输入框中输入文本时获得输入文本 我的html <input type="text" class="form-control" ng-model="texts" ng-change="type()"/> 但是,每次我键入内容时,第一个控制台日志都显示“undefined”。就像控制器找不到文本属性一样。有人能帮我解决这个奇怪的问题吗?非常感谢 $scope必须传入控制器。检查控制器参数。这可以通过使用angular的:

关于我的Angular应用程序,我有一个奇怪的问题

我想在用户在输入框中输入文本时获得输入文本

我的html

<input type="text" class="form-control" ng-model="texts" ng-change="type()"/>

但是,每次我键入内容时,第一个控制台日志都显示“undefined”。就像控制器找不到文本属性一样。有人能帮我解决这个奇怪的问题吗?非常感谢

$scope
必须传入控制器。检查控制器参数。

这可以通过使用angular的:

Angular应用程序中的数据绑定是数据的自动同步 在模型和视图组件之间。有角度的工具的方式 通过数据绑定,可以将模型视为数据中唯一的真实来源 你的申请。该视图始终是模型的投影。 模型更改时,视图会反映更改,反之亦然。

这允许我们通过在html中绑定控制器作用域的属性来同步控制器作用域的属性

因此,我们可以这样定义控制器:

myApp.controller('SomeController', function ($scope) {
  $scope.text = "";
});
<div ng-controller="SomeController">
  <input type="text" class="form-control" ng-model="text" />
</div>
现在,我们可以在html中这样使用它:

myApp.controller('SomeController', function ($scope) {
  $scope.text = "";
});
<div ng-controller="SomeController">
  <input type="text" class="form-control" ng-model="text" />
</div>

这里需要注意的重要事项是
ng model
指令。在这里,我们将控制器中定义的
text
属性绑定到
字段。现在,使用双向绑定,如果我们在输入字段中键入,它将自动更新
文本
属性。通过这种方式,我们可以访问控制器中输入字段的值,而无需做任何额外的工作

以下是一个plnkr及其工作示例:


希望这有帮助:-)

为什么不先定义它?您能创建一个JSFIDLE吗?在
$scope
上定义的函数中,您通常可以找到您在
上查找的值。因此,尝试将
$scope.text
替换为
this.text
。出于好奇,Angular提供了双向绑定,那么为什么要为此使用函数呢?您的代码运行良好--我们只能猜测代码没有显示。