ng-model =“name”和ng-model =“user.name”之间的区别是什么?

时间:2016-11-16 06:08:27

标签: angularjs

我是棱角分明的新手,任何人都可以帮助我。 ng-model =“name”与ng-model =“user.name”之间的区别

5 个答案:

答案 0 :(得分:4)

ng-model="name" 是指控制器中的控制器变量$scope.name。您可以通过控制器中的name访问视图中的$scope.name变量中的更新。

ng-model="user.name" 首先引用两个选项,您的控制器在其范围内称为user,并且该对象具有属性{{ 1}}即,在您的控制器中它将像$scope.user = {}。第二个选项是您使用角度的name语法,并且您的控制器在路由提供程序中称为$scope.user={name: 'YourName'}

您可以找到有关controllerAs here

的更多信息

答案 1 :(得分:0)

ng-model="name"是指控制器和放大器中定义的$scope.nameng-model="user.name"是指控制器中定义的$scope.user.name$scope.user.name复合表单对象,包含多个字段,主要用于AngularJS中的表单处理。

Here是Plunker

答案 2 :(得分:0)

model="name"表示它本身是一个$ scope.name变量,而ng-model="user.name"表示$scope.user中的名称变量,它指的是要在$scope.user.name >控制器

答案 3 :(得分:0)

这是指两种情况

  1. 可变
  2. 物体
  3. 现在假设我们有两个案例

    案例1

    var user = "user";
    $scope.user=user;
    
    then you can use this in html as follows
    
    <div ng-model="user"></div>
    

    案例2

    var user = { "name" : "user" , "email" : "user@ekiras.com"}
    $scope.user = user;
    
    then you can use this in html as follows
    
    <div ng-model="user.name"></div>
    <div ng-model="user.email"></div>
    

    案例3

    var user = {"name":"user","role":{"name":"admin"}};
    $scope.user = user;
    
    In this case you can refer role as follows
    
    ng-model="user.role.name"
    

    因此,主要区别在于您所指的是$scope所指的内容。

答案 4 :(得分:0)

ng-model="name",字段与$ scope.name绑定,后者在控制器中定义。 有时dev&#pl; plr可能需要将字段与对象的参数绑定。 ng-model="user.name"这里&#39;用户&#39; object和name是user的参数,在控制器中定义为$ scope.user.name。 主要用于将表单的所有字段引用到单个对象中......在Anglr ....