创建AngularJS指令,用于使用单独的数据定义编辑键/值对

时间:2014-03-24 21:00:04

标签: javascript ajax angularjs angularjs-directive

我正在尝试编写一个指令,用于编辑预先不知道其定义的数据数组。数据有两部分,首先是页面加载时加载的定义数据结构,看起来有点像这样:

[
    { 'name': 'First field',
        'type: 'String',
        'required': true,
        'default': 'x'
    },
    { 'name': 'Second field',
        'type': 'list',
        'values': ['one', 'two', 'three' ],
    }
    ... and so on
]

然后,当用户编辑数据时,我使用$ http从服务器加载数据结构,如下所示:

{
    'not': 'important',
    'blah': 'blah',
    ...
    'customfields': [ 
        { 
            name:'First field',
            value: 'a value'
        },
        { 
            name:'Second field',
            value: 'one'
        }
    ]
}

更糟糕的是,customfields结构中的名称/值对不能保证与定义的顺序相同,甚至可能只是定义字段的一个子集(在这种情况下,我想显示默认值,如果存在) 理想情况下,我想创建一个AngularJS指令,以便我可以添加

<fieldeditor field='customfields' />

到页面,它将根据需要充实HTML。我已经到了指令查找定义并创建HTML模板的地步,但我不知道如何将其连接到数据。是否可以在指令中添加钩子,以便在呈现数据时为每个字段调用一个函数,在用户修改数据时调用另一个函数?不幸的是,我无法在postLink中执行此操作,因为它在$ http数据加载之前被调用

0 个答案:

没有答案