我做错了什么。我正在尝试获取当前存储的值。我有一个用户名为的个人房间。警报功能显示的值为"[object object]"。这是我的代码:(我故意省略了脚本(。我在goInstant上提供了我的个人数据的快速截屏供参考http://screencast.com/t/BtLqfrorg
<h2>Angular JS Test</h2>
<div ng-app="testapp" data-ng-controller="personCtrl">
<input type="text" ng-model="userName" />{{ userName }}
<button type="submit" id="save" name="save" >Save</button>
<script>
var testApp = angular.module('testapp', ['goangular']);
testApp.config(function($goConnectionProvider) {
$goConnectionProvider.$set('https://goinstant.net/<mykey>/test');
});
testApp.controller('personCtrl', function($scope, $goKey) {
// $goKey is available
$scope.userName = $goKey('/person/userName').$sync();
alert($scope.userName);
});
</script>
</div>
您的示例表明您希望$scope.userName
是一个基元值(字符串(。事实上,它是一个模型。模型提供了一个简单的界面来更新应用程序的状态,在GoAngular中,该状态会神奇地自动保存到GoInstant应用程序中。
你可以在这里找到更多关于GoAngular模型的文档。我认为一个可行的例子可能会有所帮助,所以我创建了一个Plunker让我们完成script.js
:
angular
.module('TestThings', ['goangular'])
.config(function($goConnectionProvider) {
$goConnectionProvider.$set('https://goinstant.net/mattcreager/DingDong');
})
.controller('TestCtrl', function($scope, $goKey) {
// Create a person model
$scope.person = $goKey('person').$sync();
// Observe the model for changes
$scope.$watchCollection('person', function(a, b) {
console.log('model is', a.$omit()); // Log current state of person
console.log('model was', b.$omit()); // Log the previous state of person
});
// After 2000 ms set the userName property of the person model
setTimeout(function() {
$scope.person.$key('userName').$set('Luke Skywalker');
}, 2000);
// Set the userName property of the person model
$scope.person.$key('userName').$set('Darth Vader');
});