weexnavigatior 점프

3338 단어
기본 형식:
  // : xxx 
    var navigator = require('@weex-module/navigator')
      .......
      onItemClick:function(e){
        var params = {'url':nextUrl,'animated':'true'}
        navigator.push(params, function(e) {
          console.log('i am the callback.')
        });
      }
  • params 설정 루트(전환 값 포함)와 애니메이션 실행 여부
  • navigator.push (params, callback)
  • 주의: animated는 문자열'true'or'false'만 지원하며, 홈페이지에서 나중에 복구할 것이라고 합니다
  • // :  : xxx 
    var navigator = require('@weex-module/navigator')
    var params = {
      animated: 'true'
    }
    navigator.pop(params, function () {
      // callback
    })
    

    URL이 필요하기 때문에, 우리의 URL은 매우 큰 부분이 중복되었고, 정부는 절취 방법을 주었다
    //api.js
    exports.getBaseUrl = function (bundleUrl, isnav) {
        bundleUrl = new String(bundleUrl);
        var nativeBase;
        var isAndroidAssets = bundleUrl.indexOf('file://assets/') >= 0;
    
        var isiOSAssets = bundleUrl.indexOf('file:///') >= 0 && bundleUrl.indexOf('WeexDemo.app') > 0;
        if (isAndroidAssets) {
            nativeBase = 'file://assets/dist/';
        }
        else if (isiOSAssets) {
            nativeBase = bundleUrl.substring(0, bundleUrl.lastIndexOf('/') + 1);
        }
        else {
            var host = 'localhost:12580';  
            var matches = /\/\/([^\/]+?)\//.exec(bundleUrl);
            if (matches && matches.length >= 2) {
                host = matches[1];
            }
    
            // ,tabbar  jsbundle  , navigator .
           // in Browser or WebView
            if (typeof window === 'object') {
                nativeBase = isnav ? 'http://' + host + '/index.html?page=./dist/' : '/dist/';
            } else {
                nativeBase = 'http://' + host + '/dist/';
            }
        }
    
        return nativeBase;
    };
    

    우리가 사용할 때.현재 URL을 가져와서 위의 방법을 호출하여 기본 경로를 캡처할 수 있습니다
    // created ,  url
    var self = this;
    var base = apis.getBaseUrl(self.$getConfig().bundleUrl, true);
    this.baseURL = base;
    

    this. $getConfig().bundleUrl에서 현재 Url을 가져올 수 있습니다.
    사용:
                openSerialDetail: function (id) {
                    var vm = this;
                    var params = {
                        'url': this.baseURL + 'modules/serial-detail.js?id=' + id,
                        'animated': 'true'
                    };
                    navigator.push(params, function (e) {
                        //callback
                    });
                },
    

    경로 URL 연결, 그리고 전가를 볼 수 있습니다. 주의:
  • URL 연결은 컴파일된 주소와 파일(serial-detail.js가 아니라 serial-detail.we)이다
  • naviagtor는 이 파일이 생성된 페이지로 바로 이동합니다

  • $getConfig()의 추가 사용법: 현재 글로벌 환경 변수와 구성 정보를 가져옵니다.
  • config(object): 설정 대상;
  • bundleUrl(string): bundle의 url;
  • debug(boolean): 디버깅 모드인지
  • env(object): 환경 대상;
  • weexVersion(string): Weex sdk 버전;
  • appName(string): 응용 이름;
  • appVersion(string): 응용 버전;
  • platform(string): 플랫폼 정보는 iOS, Android 또는 웹입니다
  • osVersion(string): 시스템 버전;
  • deviceModel(string): 장치 모델(원본 응용 프로그램만);
  • deviceWidth(number): 장치 너비, 기본 750, 전체 화면 750;
  • deviceHeight(number): 장치 높이..


  • 좋은 웹페이지 즐겨찾기