2014-11-17 29 views

回答

3

type属性控制模板的包装方式。具体而言,如果它是svgmath它包装在div和该类型的子元素。下面是利用它在指令API生活from the source的$编译服务中的功能:

function wrapTemplate(type, template) { 
    type = lowercase(type || 'html'); 
    switch (type) { 
    case 'svg': 
    case 'math': 
    var wrapper = document.createElement('div'); 
    wrapper.innerHTML = '<' + type + '>' + template + '</' + type + '>'; 
    return wrapper.childNodes[0].childNodes; 
    default: 
    return template; 
    } 
} 

它现在被称为templateNamespace,并在文档如此描述。

+1

我认为这就是'templateNamespace'的用途。 – Tivie

+1

+1我想知道链接的使用是否真的是一个错字,或者是旧版本的宿醉吗? –

+0

是的,在v1.3之前没有提及它们* – Tivie

1

AngularJS Directive Definition Object文档而言,没有提及任何“type”属性。

在您提供的源代码中,它们使用值'SVG'。唯一相关的属性是templateNamespace,它对应于模板中标记使用的文档类型。

AngularJS需要这些信息,因为这些元素需要在通常的容器(如<svg><math>)外定义时以特殊方式创建和克隆。


编辑:

好吧,我想如果type作品像templateNamespace查不到,但不能做任何他们工作(试图与角V1.3.2和V1.2.1)。

这里的fiddle

+0

是的,现在叫templateNamespace。 –

相关问题