【问题标题】:Initiate dynamic form values within ng-repeat在 ng-repeat 中启动动态表单值
【发布时间】:2014-09-03 01:40:16
【问题描述】:

试图弄清楚如何将我的动态表单流程更新为 Angular。 Pre-angular 我会将一个函数传递到模板上下文中。在翡翠循环中,我会将值传递给函数,该函数将返回一个数组,该数组被传递给翡翠形式的mixin。

表格功能:

test_form: function(some_id){
    return {
        form_action: '/some-page',
        submit_label: 'Submit',
        elements:{
            element_name: {type: 'hidden', value: some_id},
        }
    };
}

翡翠模板:

include /base/form

each x in something
    +form(test_form(x.id))

现在我在这个循环中使用了 ng-repeat,我不能以这种方式创建表单。我怎么能用角度正确地完成这个?如果可能的话,我想使用我的翡翠形式 mixin。

【问题讨论】:

  • 您可以将变量放在范围内,并保持代码不变...
  • @V31 你是说这个+form(test_form({{x.id}}))吗?不行,express给出jade编译错误。 Jade 编译为 html。 Angular 在页面加载后触发,因此它们无法以这种方式相互交谈。

标签: angularjs pug angularjs-ng-repeat


【解决方案1】:

我会用类似的方式来处理它:

<dyno-form ng-repeat="item in something" item="item"><dyno-form>

然后将 dynoForm 指令的模板定义为类似于

<input ng-if="item.type == 'text'" type="text" ng-model="item.model">
<input ng-if="item.type == 'checkboxes'" ng-repeat="boxval in item.checkboxes"> ...

等等等等。然后你可以为数据定义你的 JSON 对象并将它传递给 dynoform。操作 json 模型会改变表单布局。

当然,我不是 100% 肯定我会那样做。我可以看到可以为各种类型提取一些子指令的区域等等。但声明条件渲染的中心主题是我在这里得到的。

【讨论】:

    猜你喜欢
    • 2017-08-11
    • 2015-02-15
    • 2017-01-07
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-24
    相关资源
    最近更新 更多