ngModel没有显示它的值

时间:2017-04-04 09:26:02

标签: angularjs

我遇到了一个奇怪的错误,在我更改了组件控制器中包含数据的对象后,输入字段(例如ng-model="taxiCtrl.localTaxi.dest")变为空白。重要的是我最初虽然值是空白但是当我在随机按钮上设置console.log($scope.taxiCtrl.localTaxi.dest);时,在我点击它之后,值就在那里,但是该字段是空白的。是否有任何理由为什么角度显示空白而不是实际值?

在组件控制器方面,这里发生了变化:

ctrl.$onChanges = function (changes) {
        if (changes.taxi) {
            console.log("change recieved");
            console.log(changes.taxi);
            ctrl.localTaxi = angular.copy(changes.taxi.currentValue);
            console.log(ctrl.localTaxi);
        }
    };

最令人困惑的部分是以下日志有两种情况:

1)

change recieved
taxi-select-item-controller.js:20 JbcurrentValue: Taxicar: "Green Clown Car"comp: "666"dest: "Botanica"id: "6663"number: ""psngrs: Array[1]time: "23:20"__proto__: ObjectpreviousValue: Taxicar: "Black Cadillac"comp: "111"dest: "Botanica"id: "121"number: ""psngrs: Array[1]time: "12:10"__proto__: Object__proto__: Object
taxi-select-item-controller.js:22 Taxicar: "Green Clown Car"comp: "666"dest: "Botanica"id: "6663"number: ""psngrs: Array[1]time: "23:20"__proto__: Objectconstructor: Taxi(taxi)__proto__: Object
taxi-select-item-controller.js:19

2)

    change recieved
taxi-select-item-controller.js:20 JbcurrentValue: Taxicar: "Green Clown Car"comp: "666"dest: "Botanica"id: "127"number: ""psngrs: Array[2]0: "just"1: "DO_IT"length: 2__proto__: Array[0]time: "23:20"__proto__: ObjectpreviousValue: Taxicar: "Black Cadillac"comp: "111"dest: "Botanica"id: "121"number: ""psngrs: Array[1]time: "12:10"__proto__: Object__proto__: Object
taxi-select-item-controller.js:22 Taxicar: "Green Clown Car"comp: "666"dest: "Botanica"id: "127"number: ""psngrs: Array[2]time: "23:20"__proto__: Object
taxi-select-item-controller.js:19

控制器收到的对象相同,但第一个实例在ngModels中显示新对象的数据,而第二个实例显示空白。

1 个答案:

答案 0 :(得分:0)

检查输入类型正在使用的数据类型以及您提供的数据类型(如果它们可能发生的类型不同)。