我是角度js的新手。我很困惑angularjs中的双向数据绑定是什么。假设在我的mvc4应用程序中,我将模型与视图绑定,用户更改了与模型类属性绑定的文本框的值。
单击更新按钮后,模型将以更改的值传递给控制器。然后将值传递给数据库以更新数据库。即模型正在使用新值进行更新。
在我的angularjs应用程序中,我还使用模型绑定了相同的文本框。要更新模型,用户会为文本框和模型更改添加新值。新模型通过web api控制器传递以更新数据库。
我的问题是:这两种类型的绑定机制有什么区别。在这两种情况下,视图和模型都会更新。那么angularjs中的2路绑定是什么。请帮我清除这个概念。
答案 0 :(得分:1)
AngularJS中的双向绑定是视图和模型之间的同步(无需刷新页面或单击按钮) 。模型中的任何更改都会反映在视图中,并且视图中的任何更改都会反映在模型上。因此,这种双向绑定方式可确保您的视图和模型始终更新。控制器也可以与视图分开并专注于模型。
这是你在AngularJS中使用双向绑定的方法:
<div ng-app="myApp" ng-controller="myCtrl">
Name: <input ng-model="name">
<h1>{{name}}</h1>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.name = "HelloWorld";
});
</script>
MVC使用ASP.NET模型绑定器。它将HTML页面中的值映射到模型。当MVC收到HTTP请求时,它会将其路由到控制器的特定操作方法。它根据路由数据中的内容确定要运行的操作方法,然后将HTTP请求中的值绑定到该操作方法的参数。 AngularJS以不同方式处理此问题,因为使用<div>
标记在ng-controller
中指定了控制器。此外,您不需要返回视图,模型会自动与控制器中关联的视图同步(无需返回)。
您可以在此处找到有关ASP.NET模型绑定的更多信息:https://docs.asp.net/en/latest/mvc/models/model-binding.html
答案 1 :(得分:1)
双向DataBinding 始终使模型和视图保持同步,即模型中的更改会更新视图,视图中的更改会更新模型。
答案 2 :(得分:0)
AngularJs中的数据绑定有两种方式:一种是使用Expression,另一种是使用ngModel。 示例:
<div> Your Name is <input type="text" ng-model="name" /> My name is {{name}} </div>
这里ng-model =“name”表示我们已经使用ng-model指令将name定义为angular变量,该指令将textbox的值设置为name变量并显示{{name}}表达式。 这是AngularJS的力量