当前位置: 首页 > 面试题库 >

AngularJS“连接后端”示例未在编辑对话框上加载数据

茅华灿
2023-03-14
问题内容

我是Firebase的新手…我想在Angularjs的主页上获取 “连接后端”
示例以在本地运行。

我克服了常见ngRoute问题, 该应用程序实际上运行正常除了“编辑”对话框外,该对话框不会从Firebase加载数据

list.html部分负荷细并呈现数据,并且detail.html当由所述加载还加载罚款CreateCtrl控制器,它不保存数据到Firebase预期。

问题出在EditCtrl控制器上,该控制器在字段中呈现 没有* 记录数据的detail.html部分。 *

让我发疯的是,Angular页面上的示例似乎使用了完全相同的代码,并且一切都在最后完成。我尝试隔离问题,但无济于事。

我已将示例转换为应用程序,并在Github上创建了一个存储库。仓库中充斥着无关的开发资料,但该应用程序应该可以直接在ZIP文件中运行。

非常感谢任何潜在客户,欢呼声!

app.js

var myAppModule = angular.module('project', ['ngRoute', 'firebase'])

.value('fbURL', 'https://color-consolidator.firebaseio.com')

.factory('Projects', function($firebase, fbURL) {
    return $firebase(new Firebase(fbURL));
});

myAppModule.config(function($routeProvider) {
    $routeProvider
    .when('/', {
        controller:'ListCtrl',
        templateUrl:'list.html'
    })
    .when('/edit/:projectId', {
        controller:'EditCtrl',
        templateUrl:'detail.html'
    })
    .when('/new', {
        controller:'CreateCtrl',
        templateUrl:'detail.html'
    })
    .otherwise({
        redirectTo:'/'
    });
});

myAppModule.controller('ListCtrl', function($scope, Projects) {
    firebaseConn();
    $scope.projects = Projects;
});

myAppModule.controller('CreateCtrl', function($scope, $location, $timeout, Projects) {
    firebaseConn();
    $scope.save = function() {
        Projects.$add($scope.project, function() {
            $timeout(function() { $location.path('/'); });
        });
    };
});

myAppModule.controller('EditCtrl', function($scope, $location, $routeParams, $firebase, fbURL) {
    firebaseConn();
    var projectUrl = fbURL + $routeParams.projectId;
    $scope.project = $firebase(new Firebase(projectUrl));
    $scope.destroy = function() {
        $scope.project.$remove();
        $location.path('/');
    };
    $scope.save = function() {
        $scope.project.$save();
        $location.path('/');
    };
});

detail.html

<form class="form-group" name="myForm">
    <div class="form-group" ng-class="{error: myForm.name.$invalid}">
        <label class="control-label" for="name">Name</label>
        <input type="text" class="form-control" name="name" ng-model="project.name" required>
        <span class="help-block" ng-show="myForm.name.$error.required">Required</span>
    </div>
    <div class="form-group" ng-class="{error: myForm.site.$invalid}">
        <label class="control-label" for="site">Site URL</label>
        <input type="url" class="form-control" name="site" ng-model="project.site" required>
        <span class="help-block" ng-show="myForm.site.$error.required">Required</span>
        <span class="help-block" ng-show="myForm.site.$error.url">Not a URL</span>
    </div>
    <div class="form-group">
        <label for="description">Description</label>
        <textarea class="form-control" name="description" ng-model="project.description"></textarea>
    </div>
    <a href="#/" class="btn btn-default">Cancel</a>
    <button type="button" class="btn btn-primary" ng-click="save()" ng-disabled="myForm.$invalid">Save</button>
    <button type="button" class="btn btn-danger" ng-click="destroy()" ng-show="project.$remove">Delete</button>
</form>

问题答案:

更改您的网址:

由此:

https://color-consolidator.firebaseio.com

对此:

https://color-consolidator.firebaseio.com/

我已在实施修复的情况下在您的仓库上创建了一个拉取请求。



 类似资料:
  • 我已经使用进度条来指示页面正在android WebView中加载。但是进度条会永远显示,即使页面已经完全加载。我使用logcat进行调试,它显示调用了onPageFinished函数。

  • 我正在制作一个使用语音识别的应用程序。它与Android KitKat 4.4.4(API 19)完美配合。但是当我在Nouget 7.0(API 24)或Lollipop语音识别对话框上尝试时,会显示网络未连接。 我有internet连接,并且在清单中添加了权限。可能是什么问题? 这是我的清单: 根据要求,我的主要活动:

  • 问题内容: 我正在创建用于更改图像的对话框。而不是让用户单击文件输入字段,而是希望立即显示它。输入字段只是一个: 页面加载时是否有显示方式? 如果有一个角度的方法可以做到这一点。 问题答案: 如此处所述,仅InternetExplorer允许以编程方式打开“文件上传”对话框。因此,简短的答案是“否”,没有办法在页面加载时自动打开“文件上传”对话框。 您可能会考虑的长答案是,当用户单击任何内容时都可

  • 我试图在对话框中创建一个编辑文本框,用于输入密码。当我在做的时候,我不能做。我是这方面的初学者。请帮我做这件事。 形象 我想得到作为

  • 在Netbeans中,我创建了一个GUI项目,该项目使用框架前端,我可以添加组件并双击以编辑其事件。我指的是有“源”、“设计”和“历史”选项卡的窗口。 以下是组件和关系: 1-打开文件选择器的按钮。 2-显示文件选择器结果的文本区域。如果用户选择一个文件,它将在文本区域显示文件名;否则它会写“被用户取消”。 3-同时,如果用户选择了一个文件,我想打开一个“please wait”(请等待)对话框,

  • 问题内容: 我有一个jQGrid的列,我只想在添加新行时可编辑。 我已经看到了在对话框中同时进行编辑和添加时如何执行此操作的示例,但是是否可以通过内联编辑来执行此操作? 我试过在beforeShowForm:中使用grid.setColProp(),但这是行不通的(该列保持只读状态,并且在添加对话框中不存在)。 问题答案: 在旧示例中],可以在“添加”或“编辑”对话框中修改的所有字段都具有属性。仅