在AngularJS指令中正确加载text/ng-template
Loading text/ng-template in AngularJS directives correctly
我有一个指令,我想清除div的内容,并将其替换为模板,无论是在我当前的视图还是在我的应用程序的其他地方。
假设我的模板是这样的。
<!-- This is an experiment -->
<script type="text/ng-template" id="1.html">
<div data-ng-repeat="beatle in beatles track by $index">
Name: {{beatle.name}}, Instrument: {{ beatle.inst}}, Alive: {{ beatle.alive }}
</div>
</script>
在我的指令中,我有以下内容:
link: function (scope, element) {
element.bind('click', function () {
// clear out old template
angular.element(element).empty();
angular.element(element).html(document.getElementById('1.html'));
});
}
我似乎能够加载模板,但我看到以下而不是我的内容
[object HTMLScriptElement]
我想知道我是否需要再次编译或运行摘要,或者如果我只是在这完全错误。我也不喜欢在我的指令代码中使用document.getElementById
,出于某种原因,它感觉不对。谁能给我一个答案,为什么我只看到[object HTMLScriptElement]
点击我的指令后,是否使用document.getElementById
在我的指令是可以接受的,或者如果有一个更好的命令来加载内容…
这是整个应用程序的小提琴…或者一个垃圾桶!https://jsbin.com/yizupa/edit?html,输出
与此同时,我刚刚得出结论,我的设置/实现是错误的,我应该考虑另一种方式来实现这样的功能。
here, i have create one running demo.. for route using **text/ng-template**..
index.html
-------------
<!DOCTYPE html>
<html lang="en" ng-app="singlePageApp">
<script src="js/angular.min.js"></script>
<script src="js/angular-route.min.js"></script>
<script src="js/app.js"></script>
<head>
<meta charset="UTF-8">
<title>AngularJS Routing Template..</title>
</head>
<body>
<div ng-controller="singlePageAppController">
{{message}}
</div>
<ul>
<li><a href="#/home">Home</a></li>
<li><a href="#/about">About</a></li>
</ul>
<div ng-view="showOutput"></div>
</body>
<script type="text/ng-template" id="home.html">
This is HOME Page..
</script>
<script type="text/ng-template" id="about.html">
This is ABOUT Page..
</script>
</html>
--------
app.js
--------
var app=angular.module('singlePageApp',['ngRoute']);
app.config(function($routeProvider){
$routeProvider
.when('/home',{
controller:'singlePageAppController',
templateUrl: 'home.html'
})
.when('/about',{
templateUrl: 'about.html'
});
});
app.controller('singlePageAppController',function($scope){
$scope.message="Hello Single Page Application..";
});
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Emberjs应用程序加载在除Index之外的所有路由上
- 在chrome.tabs.onCreated之后加载HTML页面
- 单击F5时如何停止页面加载
- HTML5音频加载和播放获胜'我不能在iPad上工作
- 跟踪在页面加载时应用内联样式的JavaScript
- .js和.css文件正在我的JSP页面中以text/html的形式加载
- 为什么requirejs试图将“.js”附加到加载了!text插件的.jst模板文件中
- 正在恢复<text区域>重新加载页面上的滚动条位置
- Iframe Alt Text当X-Frame-Options:SAMEORIGIN|DENY的Iframe加载错误时
- html/input/text到页面加载时的图像
- 错误#2044:未处理的IOErrorEvent:.text=错误#2036:加载从未完成
- Require.js(+text插件)拒绝加载任何外部文本!模板,即使它们位于我自己的主机服务器
- Jquery ('#iframeid').load()在加载Iframe CONTENT (text,
- 在AngularJS指令中正确加载text/ng-template
- 从TEXT BOX中获得的url加载DIV中的图像
- 使用placeHolder属性在输入(type=text)中加载图标