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>
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/ –