angularjs - 如何使用 ng-model 将输入中的数据与 Controller 绑定(bind)?

标签 angularjs

我正在学习 Angular,我做了这个,它工作正常,很简单:

<span>Your Name:</span><h1>{{Name.first+' '+Name.second}}</h1>

<script>
    var app = angular.module('myApp', []);
    app.controller('myController', function ($scope) {
        $scope.Name = { first: 'First', second: 'Second' };
    })
</script>

但是我希望 Controller 从文本输入中读取值,所以我做了这个:

    <p>First Name: <input type="text" ng-model="fName" /></p>
    <p>Last Name: <input type="text" ng-model="lName" /></p>
    <span>Your Name:</span><h1>{{Name.first+' '+Name.second}}</h1>
    <script>
        var app = angular.module('myApp', []);
        app.controller('myController', function ($scope) {
            $scope.Name = { first: $scope.fName, second: $scope.sName };
        });
    </script>

但这不起作用,我是初学者,可以确定我做错了

最佳答案

当您将 $scope.name 显示为输出时,您必须使用某些事件来更新您的 $scope.Name 对象。

目前我使用的是 ng-change 你也可以使用 ng-click 等。根据要求

var app = angular.module('myApp', []);
    app.controller('myController', function ($scope) {        
      
      $scope.getName=function(){
        $scope.Name = { first: $scope.fName, second: $scope.lName };
      }
    })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myController">
    <p>First Name: <input type="text" ng-change="getName()" ng-model="fName" /></p>
    <p>Last Name: <input type="text" ng-change="getName()" ng-model="lName" /></p>
    
    <span>Your Name:</span><h1>{{Name.first+ " " +Name.second}}</h1>
  </div>

关于angularjs - 如何使用 ng-model 将输入中的数据与 Controller 绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41282764/

相关文章:

javascript - 按需运行 AngularJS 指令

javascript - 单击按钮时如何在 angularjs 中获取 json 文件?

javascript - AngularJS 和照片库实现

javascript - 占位符评估后的 AngularJS 事件

javascript - ng-change 未从标签内的复选框触发

javascript - 在 Angular 隔离范围内观察表单验证

css - 在最小图像之后调整行

javascript - 如何在 Visual Studio 2013 中 'do'(并使用)HTML 包(来自 Web Essentials)

javascript - 在Angular.js中设计不同的 'services'的目的/优点是什么

javascript - 我可以在 Angular Controller 中使用插值(不仅仅是在 HTML 中)吗?