gpt4 book ai didi

javascript - 将变量绑定(bind)到 Controller 内的模型

转载 作者:行者123 更新时间:2023-11-30 05:35:15 25 4
gpt4 key购买 nike

我正在尝试以编程方式将我的 Controller 内的变量绑定(bind)到绑定(bind)到输入的模型,如下所示

<body ng-app="myApp">
<div ng-controller="MyController">
<input type="text" ng-model="myVar1" /> {{ myVar1 }}
<br />
<input type="text" ng-model="myVar2" /> {{ myVar2 }}
<br />
{{ myVar3 }}
</div>
</body>
var myApp = angular.module('myApp', []);

myApp.controller('MyController', ['$scope', function($scope){
$scope.myVar3 = $scope.myVar1;
}]);

但是正如您在这个 fiddle 中看到的那样当我在第一个输入中键入时,myVar3 的值不会改变。我知道在任何语言中,原始变量都是按值而不是按引用复制的,因此可以将我的模型定义为对象,然后像这样将引用复制到 myVar3(参见 fiddle):

<body ng-app="myApp">
<div ng-controller="MyController">
<input type="text" ng-model="myVar1.value" /> {{ myVar1.value }}
<br />
<input type="text" ng-model="myVar2.value" /> {{ myVar2.value }}
<br />
{{ myVar3.value }}
</div>
</body>
var myApp = angular.module('myApp', []);

myApp.controller('MyController', ['$scope', function($scope){
$scope.myVar1 = {};
$scope.myVar2 = {};
$scope.myVar3 = $scope.myVar1;
}]);

问题是我不想每次需要将变量动态链接到模型时都创建对象,是否有更“有 Angular ”的方式使用第一个代码实现相同的结果?

谢谢,

最佳答案

$scope.myVar3 = $scope.myVar1; 行只会执行一次,当 Controller 加载到页面中时。您需要做的是将该句子放在绑定(bind)到任何输入键事件的 Controller 函数中。

fiddle :http://jsfiddle.net/dGvm8/

关于javascript - 将变量绑定(bind)到 Controller 内的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174107/

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