gpt4 book ai didi

javascript - 设置 $scope 变量 AngularJS

转载 作者:行者123 更新时间:2023-11-28 08:20:06 25 4
gpt4 key购买 nike

所以我在事件发生后向 $scope 添加变量时遇到问题。以下是选择框的 HTML。基本上,当它发生变化时,我需要改变范围。

Index.html

<select ng-controller="ClientCtrl" ng-model="name" 
ng-options="v.name for (k, v) in client" ng-change="selectChange(name)">
</select>

<h2>{{cName}}</h2>
<p>Age: {{cAge}}</p>
<p>Notes: {{cNotes}}</p>

Controller.js

$scope.selectChange = function(name){
$scope.cName = name.name;
$scope.cAge = name.age;
$scope.cNotes = name.notes;
};

我尝试了一些方法来设置这些变量。显然是上面这个,然后是这个:

$scope.selectChange = function(name){
$scope.cName = name.name;
$scope.cAge = name.age;
$scope.cNotes = name.notes;
$scope.$apply();
};

我仍然不太明白 apply,但我想我应该尝试一下。任何帮助都会很棒,只需要一个指针来让我明白为什么这行不通。

我可以将变量发布到console.log(cName);但当我有 {{cName}}

时它不会显示

最佳答案

您实际上不必在 ng-change 事件中传递名称,因为您实际上已经在范围内拥有了该名称。 changeEvent 可以直接使用 $scope.name 而不是将其作为参数传递。

ng-change="selectChange()"

js

$scope.selectChange = function(){
$scope.cName = $scope.name.name;
and so on.
};

id建议你给它一个比名字更好的名字,我想我们正在谈论一个人,所以如果你称它为Person.Name等等会更容易阅读;)

您还需要将打印包装在您现在具有名称的同一 Controller 中,以使其正常工作,因为范围是为 Controller 创建的。

关于javascript - 设置 $scope 变量 AngularJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23093227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com