javascript - Angular中原生的js失效,無法使用
問題描述
完整的HTML和controller,Angular的指令也都可以用,但是有一部分需要寫原生是js代碼,但是發(fā)現(xiàn)原生的js無法使用html:
<a type='button' onclick='printOrder()'>直接打印</a>
js中:
var LODOP; //聲明為全局變量 function printPreview(){ //創(chuàng)建小票打印頁(yè) CreatePrintPage(); //打印預(yù)覽 LODOP.PREVIEW(); }; /** * 樣例函數(shù),服務(wù)器確認(rèn)訂單后執(zhí)行 */ function printOrder() {//創(chuàng)建小票打印頁(yè) CreatePrintPage(); //開始打印 LODOP.PRINT(); }; function CreatePrintPage(json) { //json 創(chuàng)建模擬服務(wù)器響應(yīng)的訂單信息對(duì)象 var json = {'title':'XXXXX訂單信息', 'name':'張三', 'phone': '138123456789', 'orderTime': '2012-10-11 15:30:15', 'orderNo': '20122157481315', 'shop':'XX連鎖', 'total':25.10,'totalCount':6, 'goodsList':[ {'name':'菜心(無公害食品)', 'price':5.00, 'count':2, 'total':10.08}, {'name':'菜心(無公害食品)', 'price':5.00, 'count':2, 'total':10.02}, {'name':'旺菜', 'price':4.50, 'count':1, 'total':4.50}, {'name':'黃心番薯(有機(jī)食品)', 'price':4.50, 'count':1, 'total':4.50} ] } var hPos=10,//小票上邊距 pageWidth=580,//小票寬度 rowHeight=15,//小票行距 //獲取控件對(duì)象 LODOP=getLodop(document.getElementById(’LODOP_OB’),document.getElementById(’LODOP_EM’)); //初始化 LODOP.PRINT_INIT('打印控件功能演示_Lodop功能_名片'); //添加小票標(biāo)題文本 LODOP.ADD_PRINT_TEXT(hPos,30,pageWidth,rowHeight,json.title); //上邊距往下移 hPos+=rowHeight; LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,'姓名:'); LODOP.ADD_PRINT_TEXT(hPos,30,pageWidth,rowHeight,json.name); //hPos+=rowHeight; //電話不換行 LODOP.ADD_PRINT_TEXT(hPos,70,pageWidth,rowHeight,'電話:'); LODOP.ADD_PRINT_TEXT(hPos,100,pageWidth,rowHeight,json.phone); hPos+=rowHeight; LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,'下單時(shí)間:'); LODOP.ADD_PRINT_TEXT(hPos,60,pageWidth,rowHeight,json.orderTime); hPos+=rowHeight; LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,'訂單編號(hào):'); LODOP.ADD_PRINT_TEXT(hPos,60,pageWidth,rowHeight,json.orderNo); hPos+=rowHeight; LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,'取貨門店:'); LODOP.ADD_PRINT_TEXT(hPos,60,pageWidth,rowHeight,json.shop); hPos+=rowHeight; LODOP.ADD_PRINT_LINE(hPos,2, hPos, pageWidth,2, 1); hPos+=5; LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,'商品名稱'); LODOP.ADD_PRINT_TEXT(hPos,70,pageWidth,rowHeight,'單價(jià)'); LODOP.ADD_PRINT_TEXT(hPos,110,pageWidth,rowHeight,'數(shù)量'); LODOP.ADD_PRINT_TEXT(hPos,140,pageWidth,rowHeight,'小計(jì)'); hPos+=rowHeight; //遍歷json的商品數(shù)組 for(var i=0;i<json.goodsList.length;i++){ if(json.goodsList[i].name.length<4){ LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,json.goodsList[i].name); }else { //商品名字過長(zhǎng),其他字段需要換行 LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,json.goodsList[i].name); hPos+=rowHeight; } LODOP.ADD_PRINT_TEXT(hPos,70,pageWidth,rowHeight,json.goodsList[i].price); LODOP.ADD_PRINT_TEXT(hPos,115,pageWidth,rowHeight,json.goodsList[i].count); LODOP.ADD_PRINT_TEXT(hPos,140,pageWidth,rowHeight,json.goodsList[i].total); hPos+=rowHeight; } //商品遍歷打印完畢,空一行 hPos+=rowHeight; //合計(jì) LODOP.ADD_PRINT_TEXT(hPos,80,pageWidth,rowHeight,'合計(jì):'+json.totalCount); LODOP.ADD_PRINT_TEXT(hPos,130,pageWidth,rowHeight,'¥'+json.total); hPos+=rowHeight; LODOP.ADD_PRINT_TEXT(hPos,2,pageWidth,rowHeight,(new Date()).toLocaleDateString()+' '+(new Date()).toLocaleTimeString()) hPos+=rowHeight; LODOP.ADD_PRINT_TEXT(hPos,25,pageWidth,rowHeight,'謝謝惠顧,歡迎下次光臨!'); //初始化打印頁(yè)的規(guī)格 LODOP.SET_PRINT_PAGESIZE(3,pageWidth,45,'XXXXX訂單信息');};
但是報(bào)錯(cuò):
我試了很簡(jiǎn)單的代碼,onclick也不管用,這是為什么
問題解答
回答1:你既然用了angular,那應(yīng)該會(huì)有若干個(gè)controller,你應(yīng)該在 需要點(diǎn)擊的鏈接 所在的controller中聲明對(duì)應(yīng)的事件回調(diào)方法,并且應(yīng)該通過ng-click指令綁定對(duì)應(yīng)的事件回調(diào)
回答2:可以定義函數(shù)為window.fun=function(){}然后就可以在ng中調(diào)用window.fun了。因?yàn)閍ngular是不直接操作dom的所以,,
回答3:angular全家桶都可以搞定。如果不想用angular的數(shù)據(jù)綁定就沒必要用框架
相關(guān)文章:
1. 老師,layui.css無法使用,路徑都是按照視頻照做的,是不是還有其他步驟需要做?2. django - nginx無法使用80端口(它會(huì)自動(dòng)跳轉(zhuǎn)到nginx的歡迎界面),其他端口可以使用3. android-studio - 無法使用sdkmanager更新android sdk4. javascript - jssdk選擇圖片api中獲取的本地id可以在安卓端當(dāng)成url但是在ios端無法使用時(shí)怎么回事5. css - 手機(jī)qq打開網(wǎng)頁(yè)無法使用文件上傳功能?6. angular.js - angular-ui-bootstrap 報(bào)錯(cuò)無法使用?7. android-studio - Win10下修改Windows用戶文件夾名user,導(dǎo)致Android Studio報(bào)錯(cuò)無法使用8. javascript - 可以使用splice卻無法使用substring9. linux - 無法使用ifconfig來配置ip信息10. 阿里云下面nginx80端口無法使用?
