// 主页面的js部分的需要加入下面的指令
uzai.
directive(
'script', (
$compile)
=> ({
restrict:
'E',
scope:
false,
link(
scope,
elem,
attr) {
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(
viewName,
data,
$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(
/´/
g,
'\'');
html =
html.
replace(
/"/
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(
routerElements,
function(
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>