Heim > Web-Frontend > js-Tutorial > Wie implementiert man eine Seitenanpassung in AngularJS?

Wie implementiert man eine Seitenanpassung in AngularJS?

亚连
Freigeben: 2018-06-11 16:18:37
Original
2554 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Methode der adaptiven Höhe der AngularJS-Seite vorgestellt. Jetzt teile ich sie mit Ihnen und gebe sie als Referenz.

Anforderungen

Im mit AngularJS erstellten Geschäftssystem werden Seitensprünge durch UI-View-Routing implementiert. Nach der Initialisierung und Eingabe des Inhaltsbereichs auf der rechten Seite erfordert adaptives Browsing.

Implementierungsplan

  1. Direktive zu p hinzufügen, wo sich ui-view befindet, und die Höhe von p durch die element.css-Initialisierung in der Direktive berechnen , und aktualisieren Sie es dynamisch. p height

  2. Direktive überwacht ($$watch) Angulars $digest, ermittelt die Körperhöhe in Echtzeit und weist Modell- oder element.css-Änderungen dynamisch zu

Option 1: Direktive und element.css adaptive height hinzufügen

1. Direktive erstellen

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;
});
Nach dem Login kopieren

2.p-Element und Direktive hinzufügen

<p ui-view auto-height></p>
Nach dem Login kopieren

3 .Rendering

Originalschnittstelle: Die Höhe des rechten Bereichs ist adaptiver Inhalt, was zu einer schwarzen Hintergrundfarbe unten führt

Danach Anpassung: Der richtige Bereich Höhenadaptiver Browser

Lösung 2: $watch überwacht die Körpergröße und weist Werte zu, um die Körpergröße zu ändern

1. Erstellen Sie eine Größenänderungsanweisung

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();
    });
  }
})
Nach dem Login kopieren

2. Fügen Sie die Größenänderungsanweisung zum p-Element hinzu

<p ng-app="miniapp" ng-controller="AppController" ng-style="style()" resize>
  window.height: {{windowHeight}} <br />
  window.width: {{windowWidth}} <br />
</p>
Nach dem Login kopieren

Ich hoffe, dass es für alle hilfreich ist alle in der Zukunft.

Verwandte Artikel:

So implementieren Sie die Panda-TV-Navigation mit jquery+css3

So implementieren Sie zeitgesteuerte Ausblenddialogfelder in jQuery

Detaillierte Interpretation der Trennung und Kombination von Vue-Administrator und Backend (Flasche)

Hintergrundbild in Vue festlegen

So verwenden Sie Vue + Less, um eine einfache Skin-Change-Funktion zu implementieren

Wie Sie Angular, React und Vue verwenden, um dieselbe Interviewfragenkomponente zu implementieren

Das obige ist der detaillierte Inhalt vonWie implementiert man eine Seitenanpassung in AngularJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage