我正在研究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后没有更新输入值
请看截图:
以下代码是我尝试清空数据的地方。
$scope.$apply(function($scope){
$scope.showDetail = true;
$scope.employee = {};
});
答案 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/