2017-04-18 2 views
1

Ich erstelle ein Projekt mit angularJS. Ich habe ein Problem bei der Verwendung von Uhr in meinem Projekt. Ich aktualisiere die inneren Objekte des Arrays. HierUhr wird beim Aktualisieren innerer Objekte im Array nicht ausgeführt.

$scope.$watch('demoData',function(_n, _o) { 
     console.log("watchExecuting") 
     },true); 

ist die Jsfiddle: http://jsfiddle.net/HB7LU/29132/

+1

einen bestimmten Grund für \t $ scope.demoData = [] um es als Array zu definieren, denn wenn es als Objekt definiert ist, funktioniert es ' $ scope.demoData = {} 'http://jsfiddle.net/HB7LU/29134/ –

Antwort

2

Sie müssen wie unten

über dem Eingang mit ng-Modellwert sehen

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

 
app.controller('MainCtrl', function($scope) { 
 
    
 
\t $scope.demoData = [] 
 
    $scope.lid = "f0b751df4f0444d8"; 
 
    $scope.demoData[$scope.lid] = {"textBox":"test"} 
 
    \t console.log($scope.demoData) 
 
    $scope.demo = function(){ 
 
    //console.log($scope.demoData) 
 
    } 
 
    $scope.$watch('demoData[lid].textBox',function(_n, _o) { 
 
    console.log("watchExecuting") 
 
    },true); 
 
});
<!DOCTYPE html> 
 
<html ng-app="plunker"> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <title>AngularJS Plunker</title> 
 
    <script>document.write('<base href="' + document.location + '" />');</script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script data-require="[email protected]" src="https://code.angularjs.org/1.4.12/angular.js" data-semver="1.4.9"></script> 
 
    <script src="app.js"></script> 
 
    </head> 
 

 
    <body ng-controller="MainCtrl"> 
 
<input type = "text" ng-model="demoData[lid].textBox" ng-change="demo()"> 
 
    </body> 
 

 
</html>

Verwandte Themen