ng重复在Angular UI引导程序对话框中不起作用

时间:2013-01-26 16:38:14

标签: angularjs angular-ui

有谁知道如何让我的代码正常工作。我正在尝试创建用户创建对话框,并希望使用ngResource发送帖子数据,我已经配置了我的PHP后端,并且它按预期工作。现在,我的问题是在对话框上添加错误,我尝试添加虚拟数据,但ngRepeat对我不起作用。我也尝试过调试问题的不同步骤,但对我来说没什么用。我也在研究这个问题,但没有运气。这是我的代码:

<div name="errors" id="errors" class="alert alert-error">
        <li ng-repeat="error in dialog.errors">{{ error }}</li>
</div>

尝试查看链接 http://jsfiddle.net/QCQrF/

1 个答案:

答案 0 :(得分:6)

@Ryan你的jsFiddle中发生了很多事情,但最重要的问题是你指定对话框模板的方式。模板可以指定为字符串(使用template属性)或指定为部分(templateUrl)。

如果将模板移动到某个部分,则可以按如下方式指定:

var dialogOpts = {
        backdrop: true,
        keyboard: true,
        backdropFade: true,
        backdropClick: true,
        templateUrl:  'login-dialog.html',
        controller: 'DialogCtrl',
        resolve: { dialogScope : {
          errors : ['error1', 'error2'],
          title :'Add User',
          btnTxt : 'Create User'
        }}
    };

此外,IMO使用resolve属性而不是使用对话框的实例更容易传递要在对话框范围内公开的数据。

我已将你的小提琴转换为插图以显示:http://plnkr.co/edit/iGIwPBj9zBPgX3IUwBNj?p=preview

您可能会发现$ dialog的服务附加文档有助于进一步探索此服务:https://github.com/angular-ui/bootstrap/blob/master/src/dialog/README.md

作为最后一句话,我注意到你正在将$event参数传递给事件处理程序(所有人都调用preventDefault()),而这是不必要的。