在AngularJS中将值从一个控件传递到另一个控件

28 浏览
0 Comments

在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日
0
0 Comments

InputController的作用域内,您在input标签的ng-model直接绑定到用于在控制器之间共享数据的服务。

在输入框中创建不同的模型。因此,在您的示例中,您可以有一个如下的模型:


InputController函数中,您可以将附加到input标记的模型中的数据传递给服务:

$scope.onClick = function () {
    $scope.output.text = $scope.inputText ;
}

这样,当您在输入框中输入时,数据将存储在不同的模型中,并且仅当您在InputController的作用域内单击按钮时,它才会在OutputController中更新。

0