كيفية التحكم في مسارات الصفحة في وحدة التحكم؟

StackOverflow https://stackoverflow.com//questions/24016366

  •  21-12-2019
  •  | 
  •  

سؤال

OnsenUI رائع.بسرعة وسهولة.ومع ذلك، لا يوجد الكثير من الوثائق للتحكم في منطق Onsen في وحدة التحكم.

على سبيل المثال، أريد إنشاء $location.path('/newpath') داخل وحدة التحكم.كيف يتم ذلك في أونسن؟حاولت "ons.navigator.pushPage ('partials/lestjob.html') ؛" في وظيفة وحدة التحكم الخاصة بي ولكن لا تعمل.هل يقتصر الأمر على النقر فوق Onsen للانتقال إلى صفحة أخرى؟

شكرًا.

هل كانت مفيدة؟

المحلول

في Onsen UI 1.04، يمكنك الوصول إلى المتصفح من داخل وحدة التحكم على النحو التالي.

$rootScope.ons.navigator.pushPage('new_page.html');

هناك طريقة أخرى

$rootScope.ons.$get('#navigator').pushPage(pagename);

أين #navigator هل id الملاح الذي وضعته على st.

<ons-navigator id="navigator" page="page1.html"></ons-navigator> 

يمكن لهذه الطريقة اختيار المتصفح الذي تستخدمه.

الطريقة الثالثة هي الحصول على نطاق الملاح.على سبيل المثال،

var element = document.querySelector( ".navigator-container");
var scope = angular.element( element ).scope();
scope.pushPage(pagename);

اسم الفصل .navigator-container هو اسم فئة مدمج لـ onsen ui navigator.يسير هذا جيدًا حتى في onsen ui 1.0.

إضافة:مثال على $rootScope

myapp.controller('myCtrl', function($scope, $rootScope) {
  $scope.pushPage = function(pagename) {
    $rootScope.ons.navigator.pushPage(pagename);
  }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top