У меня проблема с AngularJS (версия 1.2.6).
По какой-то причине я не мог понять, что я не могу получить доступ к свойству length
строковой переменной, хранящейся в $scope
.
В шаблоне:
String '{{myObject.someVariable}}' has length '{{myObject.someVariable.length}}'.
В контроллере:
$scope.myObject = {} ;
//asynchronuous loading of myObject
SomeService.loadObject(function(result)){
$scope.myObject = result ;
console.log("Content: '%s', length:'%i'",$scope.myObject.someVariable,$scope.myObject.someVariable.length);
$scope.$apply();
});
Результат:
String 'aaaa' has length ''.
В консоли я правильно вижу Content:'aaaa', length:'4'
Это раздражает, потому что я отображаю (или не) некоторые части шаблона в зависимости от размера строки.
Update
$scope.myObject.someVariable
- строка. Я добавил точку останова в функции обратного вызова с двумя часами:
-
$scope.myObject.someVariable
: "aaaa" -
typeof($scope.myObject.someVariable)
: "string"