我的ng模型没有得到更新的原因

时间:2015-02-02 11:36:16

标签: angularjs model

嘿,伙计们这里是我的代码,它完全没有运行我无法理解我只是想了解为什么它没有运行     http://plnkr.co/edit/vvv3aavAopBhXlc1miUI

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
  $scope.user=$scope.name;
  console.log($scope);
});

2 个答案:

答案 0 :(得分:0)

这一行错了:

$scope.user=$scope.name;

您正尝试从未定义的属性(名称)中为作用域(用户)分配一个属性的值

我认为你应该使用这种方法

app.controller('MainCtrl', function($scope) {
  $scope.user="user"
  $scope.name="name";
  console.log($scope);
});

出于演示目的,这将在输入字段中硬编码'user'和'name',但如果您尝试捕获用户输入的值,您可能会使用带有单击处理程序的按钮和处理程序函数您可以访问用户并在示波器上命名值以进行进一步处理,例如通过$ http

提交到服务器

答案 1 :(得分:0)

根据我的理解,您希望第二个更新字段在第一个更新字段时更新。

为什么它现在不起作用? 目前,当控制器在start(未定义)加载时,您只将$ scope.name的值分配给$ scope.user。您没有观察该值并在更改时将其分配给$ scope.user,因此$ scope.user的值不会更新。

有关如何使其发挥作用的一些选项

您可以使用ngChange指令

在您的HTML中:

<input type="text" ng-model="name" ng-change="updateUser()">
<input type="text" ng-model="user">

在您的控制器中:

$scope.updateUser = function() {
    $scope.user=$scope.name; }

ng-change (Plunkr)

或(取决于你想要达到的目标),你可以给他们相同的ng模型:

<input type="text" ng-model="name">
<input type="text" ng-model="name">

same ng-model (Plunkr)