在AngularJS中将值从一个控件传递到另一个控件
在AngularJS中将值从一个控件传递到另一个控件
这个问题已经有答案了:
我正在编写一个程序,用angular js来显示从文本框中输入的文本。我卡住了,不能将一个控制器的值传递给另一个控制器。这是代码:
{{output.text}}
JS:
angular.module("MyApp",[]); var application = angular.module("MyApp"); // Input angular.module("MyApp").controller("InputController",function($scope,Share){ //$scope.output = Share; $scope.onClick = function(){ $scope.output.text = "Hello " ; } }); // Output angular.module("MyApp").controller("OutputController",function($scope,Share){ $scope.output = Share; }); // Share the data angular.module("MyApp").factory("Share",function(){ var object = {}; object.text = ""; return object; });
到目前为止,当我输入时,值会在框内显示。但是我希望只有在我点击按钮时才显示文本。谢谢!
admin 更改状态以发布 2023年5月22日
在InputController的作用域内,您在input标签的ng-model直接绑定到用于在控制器之间共享数据的服务。
在输入框中创建不同的模型。因此,在您的示例中,您可以有一个如下的模型:
在InputController函数中,您可以将附加到input标记的模型中的数据传递给服务:
$scope.onClick = function () { $scope.output.text = $scope.inputText ; }
这样,当您在输入框中输入时,数据将存储在不同的模型中,并且仅当您在InputController的作用域内单击按钮时,它才会在OutputController中更新。