AngularJS – 指令模板动态

如何使用动态模板创建指令?
'use strict';

app.directive('ngFormField',function($compile) {
return {
    transclude: true,scope: {
        label: '@'
    },template: '<label for="user_email">{{label}}</label>',// append
    replace: true,// attribute restriction
    restrict: 'E',// linking method
    link: function($scope,element,attrs) {
        switch (attrs['type']) {
            case "text":
                // append input field to "template"
            case "select":
                // append select dropdown to "template"
        }
    }
  }
});
<ng-form-field label="First Name" type="text"></ng-form-field>

这是我现在的,它正在正确显示标签。但是,我不知道如何附加额外的HTML到模板。或者将2个模板合并为1。

有类似的需求。 $ compile做这项工作。 (不完全确定如果这是“的”方式做到这一点,仍然工作我的方式通过角)

http://jsbin.com/ebuhuv/7/edit – 我的勘探测试。

需要注意的一点(根据我的例子),我的一个要求是,一旦你点击保存,模板将根据类型属性改变,并且模板是非常不同的。所以虽然,你得到数据绑定,如果需要一个新的模板,在那里,你将不得不重新编译。

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...