Angularjs $bind是否应保存ng repeat中添加的子数据
您好,我对$bind有问题,我正在绑定一个模型,并通过ng repeat输出模型。ng repeat输出存储的数据,并提供一些用于添加/更改数据的字段。更改反映在范围中,但未同步到Firebase 这是我的$bind实现的问题吗 HTML:Angularjs $bind是否应保存ng repeat中添加的子数据,angularjs,firebase,angularjs-ng-repeat,filepicker.io,angularfire,Angularjs,Firebase,Angularjs Ng Repeat,Filepicker.io,Angularfire,您好,我对$bind有问题,我正在绑定一个模型,并通过ng repeat输出模型。ng repeat输出存储的数据,并提供一些用于添加/更改数据的字段。更改反映在范围中,但未同步到Firebase 这是我的$bind实现的问题吗 HTML: <iframe id="fpframe" style="border: 0; width: 100%; height: 410px;" ng-if="isLoaded"></iframe> <form> <ul&
<iframe id="fpframe" style="border: 0; width: 100%; height: 410px;" ng-if="isLoaded"></iframe>
<form>
<ul>
<li ng-repeat="asset in upload_folder" ng-class="{selected: asset.selected}">
<div class="asset-select"><input type="checkbox" name="selected" ng-model="asset.selected"></div>
<div class="asset-thumb"></div>
<div class="asset-details">
<h2>{{asset.filename}}</h2>
<p><span class="asset-filesize" ng-if="asset.size">Filesize: <strong><span ng-bind-html="asset.size | formatFilesize"></span></strong></span> <span class="asset-filetype" ng-if="asset.filetype">Filetype: <strong>{{asset.filetype}}</strong></span> <span class="asset-dimensions" ng-if="asset.width && asset.height">Dimensions: <strong>{{asset.width}}x{{asset.height}}px</strong></span> <span class="asset-type" ng-if="asset.type">Asset Type: <strong>{{asset.type}}</strong></span></p>
<label>Asset Description</label>
<textarea ng-model="asset.desc" cols="10" rows="4"></textarea>
<label>Creator</label>
<input type="text" ng-model="asset.creator" maxlength="4000">
<label>Release Date</label>
<input type="text" ng-model="asset.release">
<label for="CAT_Category">Tags</label>
<input type="text" ng-model="asset.tags" maxlength="255">
</div>
</li>
</ul>
</form>
总而言之,数据被保存到/users/$rootScope.auth.user.uid/upload_文件夹中,并在HTML中呈现。HTML表单中的更改反映在范围中,但不反映在Firebase中,尽管绑定:
var refUploadFolder = new Firebase(FBURL.FBREF).child("/users/" + $rootScope.auth.user.uid + "/upload_folder");
$scope.upload_folder = $firebase(refUploadFolder);
$scope.upload_folder.$bind($scope,'upload_folder');
你知道为什么会这样吗?我的实现是否不正确,或者我是否以某种方式破坏了绑定?$bind是否应该以这种方式与ng repeat一起工作
感谢我对自己的批评,这是多么简单,错误在于我如何定义绑定。您不能自行设置绑定,范围中需要两个单独的对象 firebase参考
$scope.syncdata
加载初始数据,对$scope.upload\u文件夹所做的所有修改将同步到firebase
var refUploadFolder = new Firebase(FBURL.FBREF).child("/users/" + $rootScope.auth.user.uid + "/upload_folder");
$scope.syncdata = $firebase(refUploadFolder);
$scope.syncdata.$bind($scope,'upload_folder');
var refUploadFolder = new Firebase(FBURL.FBREF).child("/users/" + $rootScope.auth.user.uid + "/upload_folder");
$scope.upload_folder = $firebase(refUploadFolder);
$scope.upload_folder.$bind($scope,'upload_folder');
var refUploadFolder = new Firebase(FBURL.FBREF).child("/users/" + $rootScope.auth.user.uid + "/upload_folder");
$scope.syncdata = $firebase(refUploadFolder);
$scope.syncdata.$bind($scope,'upload_folder');