Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在templateUrl中使用HTML文件的一部分_Javascript_Html_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 在templateUrl中使用HTML文件的一部分

Javascript 在templateUrl中使用HTML文件的一部分,javascript,html,angularjs,angularjs-directive,Javascript,Html,Angularjs,Angularjs Directive,有没有办法只使用文件的一部分作为指令的模板URL?例如,如果我有一个文件 <input type="text" data-name="first-name" /> <input type="text" data-name="last-name" /> <input type="text" data-name="address" /> etc. 等 Angular是否有办法只拉出“first name”input标记或只拉出“last name”in

有没有办法只使用文件的一部分作为指令的
模板URL
?例如,如果我有一个文件

<input type="text" data-name="first-name" />

<input type="text" data-name="last-name" />

<input type="text" data-name="address" />

etc.
Angular是否有办法只拉出“first name”
input
标记或只拉出“last name”
input
标记,而不是使用整个文件


我希望能够将多个指令的HTML内容作为一个HTML文件,因为只有一行代码似乎是对一个文件的浪费(UNIX哲学有其局限性)。此外,我可能想将这些
模板url
文件连接起来作为缩小过程的一部分,我想知道Angular不会对每个指令使用整个文件。

无法仅使用模板url的一部分;整件事都被拉进去并编译

对于简短的模板,我发现将模板与指令对齐是一种最佳实践。在我看来,在只有一点html的情况下减少上下文切换是值得的

这可以通过从更改标记来完成

templateUrl: 'foo.html' 

模板:“”

希望有帮助

AngularUI具有此功能。在其
UI-Utils
包中,有
UI-include
指令。这与指令完全相同,只是它允许一个额外的属性,
fragment
,该属性包含页面的一部分,而不是整个页面

页面上的示例代码非常好地演示了:

<ui-include src="'my/url/to/partial/file'" fragment="'#id-to-fragment'"></ui-include>
<!-- Don't forget to quote string literals! -->
<!-- Don't forget to include jQuery if you need full selector support! -->


当然,您可能已经包括jQuery了。:)

哇,这太糟糕了,尤其是对于最小化。与往常一样,Angular并没有完全成功地实现HTML/JS模块化。我知道
模板
,但我认为有时HTML太大,无法放入指令定义中,但对于它自己的文件来说太小。哇,我刚刚意识到我的问题已经得到了回答::P不确定它是否算作重复,因为它的范围比我的更大。
<ui-include src="'my/url/to/partial/file'" fragment="'#id-to-fragment'"></ui-include>
<!-- Don't forget to quote string literals! -->
<!-- Don't forget to include jQuery if you need full selector support! -->