zoukankan      html  css  js  c++  java
  • [Angular 2] Controlling how Styles are Shared with View Encapsulation

    Style and View Encapsulation is best understood by seeing how each option (Emulated, Native, and None) compare to each other.

    <html>
    <head>
        <title>Angular 2 QuickStart</title>
        <style>
            .started{
                background-color: #0b97c4;
            }
            .completed{
                background-color: #80d8ff;
            }
        </style>
        <script src="../node_modules/systemjs/dist/system.src.js"></script>
        <script src="../node_modules/angular2/bundles/angular2.dev.js"></script>
        <script>
            System.config({
                packages: {'app': {defaultExtension: 'js'}}
            });
            System.import('app/app');
        </script>
    </head>
    <div class="started">Started</div>
    <div class="completed">Completed</div>
    <body>
    <app>Loading...</app>
    </body>
    </html>
    import {Input, Component, View, NgClass, ViewEncapsulation} from "angular2/angular2";
    import {TodoModel} from './todoService';
    
    @Component({
        selector: 'todo-item-render'
    })
    @View({
        encapsulation: ViewEncapsulation.Emulated, // default state: the global style will have an affect on compoment style
        directives: [NgClass],
        styles: [`
            .${TodoModel.STARTED}{
                color: green;
            }
    
            .${TodoModel.COMPLETED}{
                text-decoration: line-through;
            }
        `],
        template: `
           <div>
               <span [ng-class]="todoinput.status">{{todoinput.title}}</span>
               <button (click)="todoinput.toggle()">Toggle</button>
           </div>
        `
    })
    
    export class TodoItemRender{
        @Input() todoinput: TodoModel;
    }

    if we switch to Native:

    encapsulation: ViewEncapsulation.Native, // Use shadow down, which mean the global style will not affect the compoment sytle

    last, we switch to None:

    encapsulation: ViewEncapsulation.None, // the component style and global style are the same, affect each other

  • 相关阅读:
    Python—requests模块详解
    强烈推荐(原创亲测)!!!Fiddler抓取https设置详解(图文)
    dexlib2的源码框架
    Android检测代理
    APP加固反调试(Anti-debugging)技术点汇总
    IDA逆向常用宏定义
    JNI学习积累之一 ---- 常用函数大全
    CMake之CMakeLists.txt编写入门
    Android Project和app中两个build.gradle配置的区别
    更新说明
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4916191.html
Copyright © 2011-2022 走看看