【问题标题】:Apply layout-fill only in landscape mode Angular material仅在横向模式下应用布局填充 Angular 材质
【发布时间】:2016-04-30 10:50:35
【问题描述】:

我在 md-content 中有两个 div,我只想在横向模式下为第一个 div 应用布局填充。有没有办法处理。

<md-content layout-fill layout="column" flex >
      <div flex="45" id="c1" layout layout-align="center center"> 
        <div>
          <img src="http://www.hdicon.com/wp-content/uploads/2014/07/visa_2014-100x100.png" width="100" height="100"><br>
          <span>Label</span>
        </div>
      </div>
      <div flex="55" id="c2" layout layout-align="center center"> 
        <div>
          <md-input-container class="md-block">
            <label>First name</label>
            <input name="name" ng-model="user.name" required>                            
          </md-input-container>
        </div>
      </div>     
  </md-content>

http://codepen.io/ankamsarav/pen/KzrPNX

【问题讨论】:

    标签: angular-material


    【解决方案1】:

    我不知道有条件地应用此指令的方法。要解决此问题,您可以改为使用两个 &lt;md-content&gt;&lt;/md-content&gt; 指令并使用 ng-if 来切换它们,以便一次只将一个呈现到 DOM 中。

    <md-content layout-fill ng-if="landscapeBoolean">...</md-content>
    <md-content ng-if="!landscapeBoolean">...</md-content>
    

    然后您可以监听方向更改事件并相应地切换您的布尔值。

    【讨论】:

    • 感谢您的回复,但我们必须为一个属性复制整个内容:(
    • 是的,它不是最令人满意的解决方案,但我认为没有更好的方法。您可以为内部内容定义一个指令,因此不需要太多重复。由于 ng-if 仅在满足 if 条件时才会呈现,因此该指令只会在页面加载时呈现一次。
    猜你喜欢
    • 2016-02-28
    • 1970-01-01
    • 2015-06-21
    • 1970-01-01
    • 2017-04-06
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多