我想使用Angular 2创建一个下拉菜单,但我不知道如何在"Angular 2 way"中创建它.
我可以创建一个像这样使用的下拉组件:
<dropdown>
<li (click)="action('item 1')">Item 1</li>
<li (click)="action('item 2')">Item 2</li>
</dropdown>
Run Code Online (Sandbox Code Playgroud)
这似乎很好,但是然后action需要在包含该组件的组件上定义该方法,<dropdown>并且<li>元素不会从<dropdown>组件中的样式中应用样式,这有点奇怪.
另一种选择是创建像这样使用的组件:
<dropdown>
<dropdown-item (click)="action('item 1')">Item 1</dropdown-item>
<dropdown-item (click)="action('item 2')">Item 2</dropdown-item>
<dropdown>
Run Code Online (Sandbox Code Playgroud)
这更详细,dropdown-item组件处理单击操作,项目的样式也由dropdown-item组件定义.
在Angular 2中有更典型的方法吗?
编辑:我不是在谈论表单的自定义选择输入.更像是带有选项的菜单或右键单击上下文菜单.
在Angular 2中,您可以在组件的模板中包含样式表.由于Angular 2的View Encapsulation,样式仅适用于包含元素.
有没有办法在不放置周围的情况下设置组件主标签的样式<div class="component-wrapper"></div>?
示例plnkr:http://plnkr.co/edit/rANAsR1h9ERBIZV6wuJ8
它有一个外部css文件,为<app>标签添加边框和填充,模板尝试设置背景颜色.
当一个 makefile 调用自己时
test :
@ mv $(BIN_SRC) $(BIN_SCR_TMP)
@ mv $(BIN_TEST_SRC) $(BIN_TEST_SRC_TMP)
@ make runtest
@ mv $(BIN_SCR_TMP) $(BIN_SRC)
@ mv $(BIN_TEST_SRC_TMP) $(BIN_TEST_SRC)
runtest : $(OBJS) $(LIB)
g++ -o $(TEST_BIN_FILE) $(OBJS) $(LIB)
@ chmod ugo+x $(TEST_BIN_FILE)
$(TEST_BIN_FILE)
Run Code Online (Sandbox Code Playgroud)
然后运行make test它会将其打印到终端:
make test
make[1]: Entering directory `/users/home2/admin/stringha/cs240/webcrawler'
g++ -o bin/webcrawler-tests obj/URL.o obj/webcrawler-tests.o lib/libcs240utils.a bin/webcrawler-tests
Hello webcrawler test!
make[1]: Leaving directory `/users/home2/admin/stringha/cs240/webcrawler'
Run Code Online (Sandbox Code Playgroud)
我想知道如何使它不打印出线条
make[1]: Entering directory `/users/home2/admin/stringha/cs240/webcrawler'
Run Code Online (Sandbox Code Playgroud)
和
make[1]: Leaving directory `/users/home2/admin/stringha/cs240/webcrawler'
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想检测pdf何时加载,但是.load()当浏览器在Chrome 40中请求带有部分内容范围请求的pdf时,jQuery 事件永远不会触发.
我想在pdf加载后触发浏览器print()函数.如果pdf足够小,浏览器不会请求范围,但对于较大的pdf,我如何检测pdf加载?
function download(src){
var iframe;
function check() {
console.log('checking..');
if(iframe.contentWindow && iframe.contentWindow.document && iframe.contentWindow.document.body && iframe.contentWindow.document.body.children && iframe.contentWindow.document.body.children.length > 0){
console.log('embed element exists... how do I tell when it\'s loaded?');
} else {
timeout = setTimeout(check, 150);
}
}
var timeout = setTimeout(check, 150);
iframe = $('<iframe type="application/pdf" src="'+src+'"></iframe>').appendTo(document.body).load(function() {
console.log('iframe is loaded. This never happens when there are range requests');
}).get(0);
}
$(document).ready(function(){
download('test.pdf');
});
Run Code Online (Sandbox Code Playgroud)
可以在http://stringham.me/pdf.html上看到一个示例