如何在一个单独的文件中管理html逻辑
How to manage html logic in a separate file
我有一段HTML代码,负责根据某些条件显示列表:
<!-- Show list only if there are more than 5 results -->
<div list.numberOfResults > 10">
<b>Name: </b>{{list.name}} <b>ID: </b>{{list.id}}
<b>Country: </b>{{list.country}}
</div>
<!-- Show list only if there are less than 10 results -->
<div list.numberOfResults < 10">
<b>Name: </b>{{list.name}} <b>ID: </b>{{list.id}}
<b>Country: </b>{{list.country}}
</div>
现在,我也有一些可选参数(list.country),所以我需要检查它之前是否为空。
我相信有一种方法可以在这个html文件之外采取这种逻辑,并制作一个对逻辑和html负责的文件,并相应地呈现数据,请有人分享一个简单的例子,说明如何根据我的代码做到这一点?
谢谢! !
由于有两个组件,您可以将它们保存在单独的文件中,如name
component.html
然后你可以像
一样导入index.html<link rel="import" href="component.html" >
或者你可以直接从文件中获取特定的部分,比如
...
<script>
var link = document.querySelector('link[rel="import"]');
var content = link.import;
// Grab DOM from component.html's document.
var el = content.querySelector('.component');
document.body.appendChild(el.cloneNode(true));
</script>
</body>
DEMO:https://plnkr.co/edit/6atoS1WOK5RzKSmNeR8n?
当你想有条件地显示 HTML pieces
时,可以使用 ngSwitch
,
@Component({
selector: 'my-app',
template: `
<div [ngSwitch]="list.numberOfResults>10"> // here
<div *ngSwitchCase ="true"> // here
<b> Template1 </b><br>
<b>Name: </b>{{list.name}} <br>
<b>ID: </b>{{list.id}} <br>
<b>Country: </b>{{list.country}}
</div>
<div *ngSwitchCase ="false"> // here
<b> Template2 </b><br>
<b>Name: </b>{{list.name}} <br>
<b>ID: </b>{{list.id}} <br>
<b>Country: </b>{{list.country}}
</div>
<div>
`,
})
export class App {
list={numberOfResults:2,name:'myList',id:1,country:'USA'};
}
相关文章:
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 如何在 elfinder(一个 jquery 文件管理器插件)中只显示文件夹列表
- 响应式文件管理器 9 在 TinyMCE 4 中打开空白对话框
- 响应式文件管理器.防止在选择图像时模式关闭
- Elfinder文件管理器,带有多个按钮更新文本输入
- 将响应式文件管理器与创建用户会话配合使用
- TinyMce 和响应式文件管理器设置
- 如何在tinyMCE中成功集成文件管理器
- 用于文件管理器的javascript/部分逻辑
- 响应式文件管理器回调函数
- 我可以在没有文件管理器的情况下上传图像吗
- 在QML中编写文件管理器
- 是否可以将本地文件从文件管理器拖放到浏览器并获取文件's uri
- 如何创建一个类似于Github's文件管理器的动画
- 为什么富文件管理器插入filemanager.config.json而不是插入图像到文本字段
- 如何在响应文件管理器插件与TinyMCE编辑器中的子文件夹中获取文件
- Simogeo文件管理器查看/上传
- 无法在预览Repsonsive文件管理器中单击“图像”
- 角度文件管理器使用情况.如何
- python中的CKEditor文件管理器