2014-03-26 82 views
0

您好我已经folllowing HTML输入,取入控制器功能Angularjs在DOM初始化值

<input type="text" name="netid" ng-model="c.netid" ng-blur="blurCallback(c.netid)"/> 
    <input type="text" name="name" ng-model="c.name" ng-init="c.name={{testing}}" /> 

控制器功能

$scope.blurCallback = function (netId) { 
      var netName=netId; 
       AppRepository.checkPerson.get(netName, function (data) { 
        $scope.testing=data.name  
      }) 
     } 

代码值和呼叫工作正常,除了$ scope.testing不在ng-model = c.name处更新DOM中的值。请让我知道它是如何在Angularjs中正确完成的。由于

回答

0

从angularJs文档:

唯一的适当使用ngInit的是别名ngRepeat的特殊属性,如下面的演示看到。除了这种情况,您应该使用控制器而不是ngInit来初始化作用域上的值。

来源:ng-init

相反,我会设置你的NG-模型的价值在这样的模糊功能:

$scope.blurCallback = function (netId) { 
     var netName=netId; 
     AppRepository.checkPerson.get(netName, function (data) { 
       $scope.c.name = data.name;  
     }); 
    } 
当我使用$ scope.c.name它
+0

给我的错误为$ scope.c未定义。但是,当我删除C,只是做$ scope.name它会显示名称,但我需要有ng-model =“c.name”提交所有的值时使用。有任何想法吗? –

+0

尝试将$ scope.c初始化为一个空对象,如下所示:$ scope.c = {}在控制器的开头。 –