anglar 跳转子页面

来源:互联网 发布:中国2017网络闭关锁国 编辑:程序博客网 时间:2024/06/09 23:19
    // 主页面的js部分的需要加入下面的指令
    uzai.directive('script', ($compile=> ({
        restrict: 'E',
        scope: false,
        link(scopeelemattr) {
            if (attr.type === 'text/javascript-lazy' || elem.text().indexOf('childrenFunction.') > -1) {
                if (attr.ngSrc) {
                    let script = document.createElement('script');
                    script.setAttribute('type''text/javascript');
                    script.setAttribute('src'attr.ngSrc);
                    $doc.body.appendChild(script);
                    return;
                } else {
                    let code = elem.text();
                    let f = new Function(code);
                    f();
                }
            }
        }

    }));


    let childrenFunction = {
        costnotice: function() { 
            api.endloading();
            setTimeout(function() {
                //计算子页面高度
                individualdetail.jticketshow();
            }, 0);
        },
};

window.childrenFunction = window.childrenFunction || childrenFunction;



其他js

     append: function(viewNamedata$http$scope$compile) {
            var angular = window.angular,
                createElement = document.createElement('section'),
                elementObj,
                el,
                scriptsData = '<script type="text/javascript">' + 'childrenFunction.' + viewName + '();' + '</script>';
            var htmlData;
            if (api.isApp()) {
                if (typeof(data) == 'string') {
                    if (devicetype === 'android') {
                        htmlData = decodeURIComponent(data);
                        data = {
                            ErrorCode: 200,
                            JsonResult: htmlData
                        };
                    } else {
                        data = JSON.parse(data);
                    }
                }
                if (data.ErrorCode != 200 || data.JsonResult.trim() == '') {
                    api.endloading();
                    if (devicetype === 'android') {
                        console.log('安卓子页面错误:' + data);
                    } else {
                        api.toast(data.ErrorMsg);
                    }
                    if (data.JsonResult.trim() == '') {
                        window.location.hash = '';
                        return;
                    }
                }
                if (devicetype == 'ios') {
                    elementObj = angular.element(decodeURIComponent(data.JsonResult) + scriptsData);
                } else {
                    var html = decodeURIComponent(data.JsonResult).replace(/&acute;/g'\'');
                    html = html.replace(/&quot;/g'"');
                    elementObj = angular.element(html + scriptsData);
                }
            } else {
                elementObj = angular.element(data + scriptsData);
            }
            createElement.id = 'J_router_' + viewName;
            createElement.className += 'J-router J-router-' + viewName;
            angular.element(document.body).append(createElement);
            el = $compile(elementObj)($scope);
            angular.element(createElement).append(el);
            var routerElements = document.querySelectorAll('.J-router');
            if (routerElements.length > 0) {
                api.__scrolltop__ = document.body.scrollTop;
                [].filter.call(routerElementsfunction(el) {
                    el.classList.remove('J-router-show');
                });
            }
            setTimeout(function() {
                document.getElementsByClassName('uzai-wrapper')[0].classList.add('hide');
                createElement.classList.add('J-router-show');
                //angular.element(createElement).addClass('J-router-show').siblings().removeClass('J-router-show');
            }, 500);
        }
    };






<a  href="#/页面名称"></a>