【发布时间】:2016-07-04 23:47:24
【问题描述】:
我正在使用 AngularJS2,当我加载 init index.html 时,是这样的:
<!doctype html>
<html>
<head>
<title>demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 1. Load libraries -->
<!-- IE required polyfills, in this exact order -->
<script src="node_modules/es6-shim/es6-shim.min.js"></script>
<script src="node_modules/systemjs/dist/system-polyfills.js"></script>
<script src="node_modules/angular2/es6/dev/src/testing/shims_for_IE.js"></script>
<script src="node_modules/angular2/bundles/angular2-polyfills.js"`enter code here`></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<link href="app/css/jquery-ui.css" rel="stylesheet">
<link href="app/css/bootstrap.min.css" rel="stylesheet">
<link href="app/css/font-awesome.min.css" rel="stylesheet">
<link href="app/css/style.css" rel="stylesheet">
<script src="app/js/jquery.min.js"></script>
<script src="app/js/jquery-ui.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="app/js/bootstrap.min.js"></script>
<!-- 2. Configure SystemJS -->
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/ts/main').then(null, console.error.bind(console));
</script>
</head>
<!-- 3. Display the application -->
<body>
<div id="top-bar"></div>
<script>
$("#top-bar").load("app/html/navbar.html nav");
</script>
<my-app>Loading...</my-app>
</body>
</html>
好的,现在我正在加载 app/ts/main,它是 typescript 文件,我在其中创建主应用程序组件。该组件使用名称加载我的页面,例如 intro.html。没问题,这个页面已经加载没有错误了。
但我的问题是 - 如何在我的 intro.html 和其他 html 组件中使用脚本或标题等标签?例如上面的代码使用带有“demo”的标签标题,如果我的intro.html用标题定义了head,例如“test”,标题总是“demo”。
我的其他组件(intro.html、ticket.html 等)也无法加载脚本标签内的任何内容。所以如果我正在加载我的导航栏
<script>
$("#top-bar").load("app/html/navbar.html nav");
</script>
我必须在 index.html 中执行此操作,而在我的其他组件(例如 intro.html)中无法执行此操作。因为任何其他组件都忽略了 script 标签,也忽略了 head 标签。所以我的问题是,如何在我的组件中而不是在 index.html 中使用 script 或 head 标签?
【问题讨论】:
标签: typescript angular