为什么输入保留角js中的值

时间:2015-01-14 18:05:12

标签: javascript angularjs

我正在研究angularjs。我有一个奇怪的问题。我有5个输入我正在使用angularjs更新这些输入。问题是当我在任何输入中进行手动更改时,angularjs不会更新这些手动更新的输入。我正在使用输入以下方式。

<input type="text" name="name" id="emp.name" value="{{employee.name}}"/>

<input type="text" id="emp.name" name="name" ng-model="employee.name"/>

但没有任何作用。任何人都知道为什么在manuall修改angularjs后没有更新输入值

请看截图:

enter image description here

以下代码是我尝试清空数据的地方。

$scope.$apply(function($scope){
    $scope.showDetail = true;
    $scope.employee = {};
});

1 个答案:

答案 0 :(得分:0)

确保$scope.employee存在,然后才能在输入中使用employee.name作为模型。

因此,您应该在链接或控制器功能的某处设置

$scope.employee = { name: 'initialName' } // Or just '' for empty name

然后,还要小心$scope.$apply,只有在代码异步运行时(或者在浏览器的开发者控制台中),才需要这样做。

最后,尽量不要替换整个员工的引用,而只是用你的函数清除它的名字:

$scope.showDetail = true;
$scope.employee.name = ''; // If $scope.employee doesn't exists here, read my answer again

这是一个jsfiddle,可以看到它的实际效果:http://jsfiddle.net/HB7LU/10018/