小编Rya*_*yan的帖子

如何在Angular 2中创建下拉组件?

我想使用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

19
推荐指数
1
解决办法
11万
查看次数

Angular 2组件样式本身可以吗?

在Angular 2中,您可以在组件的模板中包含样式表.由于Angular 2的View Encapsulation,样式仅适用于包含元素.

有没有办法在不放置周围的情况下设置组件主标签的样式<div class="component-wrapper"></div>

示例plnkr:http://plnkr.co/edit/rANAsR1h9ERBIZV6wuJ8

它有一个外部css文件,为<app>标签添加边框和填充,模板尝试设置背景颜色.

angular

14
推荐指数
2
解决办法
6480
查看次数

makefile 调用自身

当一个 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)

谢谢!

makefile

5
推荐指数
2
解决办法
2649
查看次数

如何在浏览器请求部分内容范围请求时检测何时在iframe中加载pdf?

我想检测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上看到一个示例

html javascript pdf iframe jquery

5
推荐指数
1
解决办法
812
查看次数

标签 统计

angular ×2

html ×1

iframe ×1

javascript ×1

jquery ×1

makefile ×1

pdf ×1