使用 angularjs 动态创建控件

Posted

技术标签:

【中文标题】使用 angularjs 动态创建控件【英文标题】:Create the controls dynamically using angularjs 【发布时间】:2014-08-14 20:43:21 【问题描述】:

我是 angularjs 的新手,谁能帮我创建使用 angular js 进行高级搜索的动态控件。

喜欢 单击此按钮后,我们有高级搜索按钮,应加载一些基本过滤器控件,然后单击 + 或 - 按钮动态加载另一个带有“与”/“或”选项的过滤器控件。

我们需要类似下面的截图。 数据类型下拉菜单和选择日期选项将用于默认搜索。如果人们点击高级搜索过滤器选项将出现在屏幕上。 那么我们需要添加一个下拉菜单作为动态控件,如果下拉菜单项适用于文本框,则以开始,以结束,如果项目适合日期,则应出现日期选择器控件。之后,用户还可以通过单击加号或减号按钮添加更多搜索条件。

【问题讨论】:

【参考方案1】:

在控制器中有一个包含您的过滤器选项的数组:

$scope.filters = []

在高级搜索上添加点击:

$scope.onAdvancedSearchClick = function() 
    $scope.advancedSearch = true;
    $scope.onClickPlus(); // add initial item


$scope.onClickPlus = function() 
    $scope.filters.push(text: 'some text', type: 'AND');


$scope.onClickMinus = function() 
    $scope.filters.pop();

然后在您的视图中使用 ng-repeat 循环过滤器数组并为每个输入创建一个文本输入和“和/或”按钮。

我不确定您是否想要和/或按行或***控制。

【讨论】:

感谢 mbdev 的回复。能否请您提供更多建议,我也添加了屏幕截图。

以上是关于使用 angularjs 动态创建控件的主要内容,如果未能解决你的问题,请参考以下文章

在 angularjs 中使用 ng-repeat 创建动态表

AngularJs:如何对指令创建的动态元素应用表单验证

我动态创建了一个canvas,上面动态创建了一些控件,我现在想使用这些控件,该怎么弄

如何利用AngularJS动态创建表格和动态赋值

如何将 angularJs 用于动态创建的 HTML(未加载到 DOM)

动态创建MFC控件时如何重新创建资源编辑器使用的样式?