Rumah hujung hadapan web tutorial js angularjs中如何实现页面自适应?

angularjs中如何实现页面自适应?

Jun 11, 2018 pm 04:18 PM
angular angularjs Adaptif

本篇文章主要介绍了angularjs 页面自适应高度的方法,现在分享给大家,也给大家做个参考。

需求

在angularjs构建的业务系统中,通过ui-view路由实现页面跳转,初始化进入系统后,右侧内容区域需要自适应浏览器高度。

实现方案

  1. 在ui-view所在的p添加directive,directive中通过element.css初始化计算p的高度,动态更新p高度

  2. directive监听($$watch)angular的$digest,实时获取body高度,动态赋值model或element.css改变

方案1:添加directive和element.css自适应高度

1.创建directive

define([ "app" ], function(app) {
  app.directive('autoHeight',function ($window) {
    return {
      restrict : 'A',
      scope : {},
      link : function($scope, element, attrs) {
        var winowHeight = $window.innerHeight; //获取窗口高度
        var headerHeight = 80;
        var footerHeight = 20;
        element.css('min-height',
            (winowHeight - headerHeight - footerHeight) + 'px');
      }
    };
  });
  return app;
});
Salin selepas log masuk

2.p元素添加directive

<p ui-view auto-height></p>
Salin selepas log masuk

3.效果图

原界面:右侧区域的高度为自适应内容,导致下方存在黑色的背景色

调整后:右侧区域的高度自适应浏览器

方案2:$watch监听body高度,赋值改变高度

1.创建resize directive

var app = angular.module(&#39;miniapp&#39;, []);

function AppController($scope) {
  /* Logic goes here */
}

app.directive(&#39;resize&#39;, function ($window) {
  return function (scope, element) {
    var w = angular.element($window);
    scope.getWindowDimensions = function () {
      return { &#39;h&#39;: w.height(), &#39;w&#39;: w.width() };
    };
    scope.$watch(scope.getWindowDimensions, function (newValue, oldValue) {
      scope.windowHeight = newValue.h;
      scope.windowWidth = newValue.w;

      scope.style = function () {
        return { 
          &#39;height&#39;: (newValue.h - 100) + &#39;px&#39;,
          &#39;width&#39;: (newValue.w - 100) + &#39;px&#39; 
        };
      };

    }, true);

    w.bind(&#39;resize&#39;, function () {
      scope.$apply();
    });
  }
})
Salin selepas log masuk

2.在p元素上增加resize directive

<p ng-app="miniapp" ng-controller="AppController" ng-style="style()" resize>
  window.height: {{windowHeight}} <br />
  window.width: {{windowWidth}} <br />
</p>
Salin selepas log masuk

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

使用jquery+css3如何实现熊猫tv导航

在jQuery中如何实现定时隐藏对话框

详细解读vue-admin和后端(flask)分离结合

在Vue中设置背景图片

使用vue + less如何实现简单换肤功能

使用angular、react和vue如何实现相同的面试题组件

Atas ialah kandungan terperinci angularjs中如何实现页面自适应?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk memasang Angular pada Ubuntu 24.04 Bagaimana untuk memasang Angular pada Ubuntu 24.04 Mar 23, 2024 pm 12:20 PM

Angular.js ialah platform JavaScript yang boleh diakses secara bebas untuk mencipta aplikasi dinamik. Ia membolehkan anda menyatakan pelbagai aspek aplikasi anda dengan cepat dan jelas dengan memanjangkan sintaks HTML sebagai bahasa templat. Angular.js menyediakan pelbagai alatan untuk membantu anda menulis, mengemas kini dan menguji kod anda. Selain itu, ia menyediakan banyak ciri seperti penghalaan dan pengurusan borang. Panduan ini akan membincangkan cara memasang Angular pada Ubuntu24. Mula-mula, anda perlu memasang Node.js. Node.js ialah persekitaran berjalan JavaScript berdasarkan enjin ChromeV8 yang membolehkan anda menjalankan kod JavaScript pada bahagian pelayan. Untuk berada di Ub

Bagaimana untuk mengkonfigurasi kecerahan penyesuaian kandungan pada Windows 11 Bagaimana untuk mengkonfigurasi kecerahan penyesuaian kandungan pada Windows 11 Apr 14, 2023 pm 12:37 PM

Kecerahan penyesuaian ialah ciri pada komputer Windows 11 yang melaraskan tahap kecerahan skrin anda berdasarkan kandungan yang dipaparkan atau keadaan pencahayaan. Memandangkan sesetengah pengguna masih membiasakan diri dengan antara muka baharu Windows 11, Adaptive Brightness tidak dapat ditemui dengan mudah, malah ada yang mengatakan ciri Adaptive Brightness tiada pada Windows 11, jadi tutorial ini akan membersihkan semuanya. Contohnya, jika anda menonton video YouTube dan video itu tiba-tiba menunjukkan pemandangan gelap, Kecerahan Suaian akan menjadikan skrin lebih cerah dan meningkatkan tahap kontras. Ini berbeza daripada kecerahan automatik, iaitu tetapan skrin yang membolehkan komputer, telefon pintar atau peranti anda melaraskan tahap kecerahan berdasarkan pencahayaan ambien. Terdapat yang istimewa di kamera hadapan

Penjelasan terperinci tentang pengurus keadaan pembelajaran sudut NgRx Penjelasan terperinci tentang pengurus keadaan pembelajaran sudut NgRx May 25, 2022 am 11:01 AM

Artikel ini akan memberi anda pemahaman yang mendalam tentang pengurus negeri Angular NgRx dan memperkenalkan cara menggunakan NgRx saya harap ia akan membantu anda!

Analisis ringkas tentang cara menggunakan editor monaco dalam sudut Analisis ringkas tentang cara menggunakan editor monaco dalam sudut Oct 17, 2022 pm 08:04 PM

Bagaimana untuk menggunakan monaco-editor dalam sudut? Artikel berikut merekodkan penggunaan monaco-editor dalam sudut yang digunakan dalam perniagaan baru-baru ini. Saya harap ia akan membantu semua orang!

Artikel yang meneroka pemaparan sisi pelayan (SSR) dalam Angular Artikel yang meneroka pemaparan sisi pelayan (SSR) dalam Angular Dec 27, 2022 pm 07:24 PM

Adakah anda tahu Angular Universal? Ia boleh membantu tapak web menyediakan sokongan SEO yang lebih baik!

Cara menggunakan PHP dan Angular untuk pembangunan bahagian hadapan Cara menggunakan PHP dan Angular untuk pembangunan bahagian hadapan May 11, 2023 pm 04:04 PM

Dengan perkembangan pesat Internet, teknologi pembangunan bahagian hadapan juga sentiasa bertambah baik dan berulang. PHP dan Angular ialah dua teknologi yang digunakan secara meluas dalam pembangunan bahagian hadapan. PHP ialah bahasa skrip sebelah pelayan yang boleh mengendalikan tugas seperti memproses borang, menjana halaman dinamik dan mengurus kebenaran akses. Angular ialah rangka kerja JavaScript yang boleh digunakan untuk membangunkan aplikasi satu halaman dan membina aplikasi web berkomponen. Artikel ini akan memperkenalkan cara menggunakan PHP dan Angular untuk pembangunan bahagian hadapan, dan cara menggabungkannya

Apakah yang perlu saya lakukan jika projek itu terlalu besar? Bagaimana untuk membahagikan projek Angular dengan munasabah? Apakah yang perlu saya lakukan jika projek itu terlalu besar? Bagaimana untuk membahagikan projek Angular dengan munasabah? Jul 26, 2022 pm 07:18 PM

Projek Angular terlalu besar, bagaimana untuk membahagikannya secara munasabah? Artikel berikut akan memperkenalkan kepada anda cara membahagikan projek Angular secara munasabah. Saya harap ia akan membantu anda!

Mari kita bincangkan tentang cara menyesuaikan format pemilih masa-masa-sudut Mari kita bincangkan tentang cara menyesuaikan format pemilih masa-masa-sudut Sep 08, 2022 pm 08:29 PM

Bagaimana untuk menyesuaikan format angular-datetime-picker? Artikel berikut membincangkan cara menyesuaikan format saya harap ia akan membantu semua orang!

See all articles