define(function(require, exports, module) {
"require:nomunge,exports:nomunge,module:nomunge";
require('/js/util.js');
var mui = require('../../../../mui.min.js');
require('../../../../mui.picker.js');
require('../../../../mui.poppicker.js');
require('../../../../echarts.min.js');
require("../../../../mui.picker.min.js");
使用时间和select 控件的时候报错:Uncaught TypeError: e(...).picker is not a function mui.picker.min.js 11 这个js里面的;
//普通示例
var userPicker = new mui.PopPicker();
var picker = new $.DtPicker(options); 上面这俩个地方都报上面的错误的;我是按照api来开发的。该如果解决啊
//详细代码 getTime() 和 getSelectUserList(json) 里面
define(function(require, exports, module) {
"require:nomunge,exports:nomunge,module:nomunge";
require('/js/util.js');
var mui = require('../../../../mui.min.js');
require('../../../../echarts.min.js');
require("../../../../mui.picker.min.js");
var off_line_media_report = {};
var element = {};
var list = [];
mui.init({
swipeBack: true //启用右滑关闭功能
});
if(config.pagination == undefined) {
config.pagination = require('/js/plugins/pagination/pagination.js');
}
/$.getLoginedJSON(config.api_domain + "/manage/mobile_index",function(json) {
$('#body').innerHTML = require('/template/release/manage/media/off_line_media_report.js')(json);
});/
function getTime(){(function($) {
console.log('mui为:'+mui);
console.log('$为:'+$)
$.init();
var result = $('#result')[0];
var btns = $('.btn');
btns.each(function(i, btn) {
btn.addEventListener('tap', function() {
var optionsJson = this.getAttribute('data-options') || '{}';
var options = JSON.parse(optionsJson);
var id = this.getAttribute('id');
/*
- 首次显示时实例化组件
- 示例为了简洁,将 options 放在了按钮的 dom 上
-
也可以直接通过代码声明 optinos 用于实例化 DtPicker
/
//!!!!!这里
var picker = new $.DtPicker(options);
picker.show(function(rs) {
/- rs.value 拼合后的 value
- rs.text 拼合后的 text
- rs.y 年,可以通过 rs.y.vaue 和 rs.y.text 获取值和文本
- rs.m 月,用法同年
- rs.d 日,用法同年
- rs.h 时,用法同年
- rs.i 分(minutes 的第二个字母),用法同年
/
result.innerText = '选择结果: ' + rs.text;
/ - 返回 false 可以阻止选择框的关闭
- return false;
/
/ - 释放组件资源,释放后将将不能再操作组件
- 通常情况下,不需要示放组件,new DtPicker(options) 后,可以一直使用。
- 当前示例,因为内容较多,如不进行资原释放,在某些设备上会较慢。
- 所以每次用完便立即调用 dispose 进行释放,下次用时再创建新实例。
*/
picker.dispose();
});
}, false);
});
})(mui);
}
function getSelectUserList(json) {
if(json.user_list) {
for(var i = 0, length = json.user_list.length; i < length; i++) {
var user = new Object();
var temp = {};
temp.value = json.user_list[i].id,
temp.text = json.user_name,
list.push(temp);
}
}
//普通示例 !!!!!这里
var userPicker = new mui.PopPicker();
console.log(list);
userPicker.setData(list);
var showUserPickerButton = doc.getElementById('showUserPicker');
//var userResult = doc.getElementById('userResult');
showUserPickerButton.addEventListener('tap', function(event) {
userPicker.show(function(items) {
//userResult.innerText = JSON.stringify(items[0]);
//返回 false 可以阻止选择框的关闭
//return false;
off_line_media_report.user_id = JSON.stringify(items[0]);
});
}, false);
}
load_table();
load_data();
getTime();
function load_data() {
getJSON(config.api_domain + '/manage/media/report/off_line_media_report?v=1&callback=?', {
user_id: off_line_media_report.user_id,
media_id: off_line_media_report.media_id,
adspace_id: off_line_media_report.adspace_id,
start_date: '2016-7-19',
end_date: '2016-7-25'
},
function(json) {
if(!json.status) {
/
global_info.toast({
html: json.message
});
bind_event();
/
return;
}
//getSelectUserList(json);
/*if(json.media_list) {
for(var i = 0, length = json.media_list.length; i < length; i++) {
is_selected = json.media_list[i].id == off_line_media_report.media_id;
media_id_list_html += '<option value=' + json.media_list[i].id +
(is_selected ? ' selected=selected' : ' ') +
' >' +
json.media_list[i].media_name +
'</option>';
}
}
media_id_list_html = '<option value=0' +
(!is_selected ? ' selected=selected' : ' ') +
' >全部</option>' + media_id_list_html;if(json.adspace_list) { for(var i = 0, length = json.adspace_list.length; i < length; i++) { is_selected = json.adspace_list[i].id == off_line_media_report.adspace_id; adspace_id_list_html += '<option value=' + json.adspace_list[i].id + (is_selected ? ' selected=selected' : '') + '>' + json.adspace_list[i].adspace_name + '</option>'; } } adspace_id_list_html = '<option value=0' + (!is_selected ? ' selected=selected' : ' ') + ' >全部</option>' + adspace_id_list_html; /*show_hidden_list_filter_panel();*/ /*element.select_media_id_list.html(media_id_list_html); element.select_adspace_id_list.html(adspace_id_list_html);*/ $('#off_line_media_report_top').removeClass('page-inner-loading').html( require('/template/release/manage/media/off_line_media_report_top.js')(json) ); var myChart = echarts.init(document.getElementById('main_chart')); data = json; myChart.setOption({ tooltip: { trigger: 'axis', formatter: function(params, ticket, callback) { if((params[0].name < 24) && (params[0].name >= 0)) { var result = params[0].name + ' 时'; for(var i = 0, l = params.length; i < l; i++) { result += '<br/>' + params[i].seriesName + ' : ' + params[i].value; } return result; } else { var result = params[0].name; for(var i = 0, l = params.length; i < l; i++) { result += '<br/>' + params[i].seriesName + ' : ' + params[i].value; } return result; } } }, calculable: false, //禁止拖动 height: 200, grid: { x: 35, x2: 10, y: 30, y2: 25 }, toolbox: { show: false, feature: { mark: { show: true }, dataView: { show: true, readOnly: false }, magicType: { show: true, type: ['line', 'bar'] }, restore: { show: true }, saveAsImage: { show: true } } }, legend: { data: [ '展现次数', '点击次数', '点击率', '平均点击价格', '千次展现价格', '消费' ] }, xAxis: [{ type: 'category', splitLine: { show: false }, data: data.x_list }], yAxis: [{ type: 'value', splitLine: { show: true } }], series: [{ name: '展现次数', type: 'line', draggable: false, data: data.pv }, { name: '点击次数', type: 'line', draggable: false, data: data.click }, { name: '点击率', type: 'line', draggable: false, itemStyle: { normal: { label: { show: true, position: 'top', formatter: '{c} %' } } }, data: data.click_rate }, { name: '平均点击价格', type: 'line', draggable: false, data: data.average_click_price }, { name: '千次展现价格', type: 'line', draggable: false, data: data.pv_click_price }, { name: '消费', type: 'line', draggable: false, data: data.consume }] }); });
}
function load_table() {
//加载table
getJSON(config.api_domain + '/manage/media/report/off_line_media_report?is_get_list=true&v=1&callback=?', {
user_id: off_line_media_report.user_id,
media_id: off_line_media_report.media_id,
adspace_id: off_line_media_report.adspace_id,
start_date: '2016-7-19',
end_date: '2016-7-25',
p: off_line_media_report.p,
sort_str: off_line_media_report.sort_str
},
function(json) {
off_line_media_report.p = json.p;
$('#off_line_media_report_table_time_th').text(json.is_hour ? '小时' : '日期');
$('#off_line_media_report_table_pagination').html(
config.pagination(json.page_size ? json.page_size : 10, json.p ? json.p : 1, json.total_count ? json.total_count : 0, 10, function(p) {
off_line_media_report.p = p;
load_table();
})
);
$('#off_line_media_report_table_content').html(require('/template/release/manage/media/off_line_media_report_table.js')(json));
});
}
});
7***@qq.com (作者)
我一直搞不懂为什么那个地方会报错的。我把其余的删除了的。还是那个地方报错
2016-07-28 10:47
lhyh
回复 7***@qq.com:贴详细的代码
2016-07-28 10:48
7***@qq.com (作者)
回复 lhyh:贴了,帮我看一下的
2016-07-28 10:54
lhyh
回复 7***@qq.com:朋友抱歉帮不了你,有几个地方我没明白,你如果做webapp为什么要用require.js?还有就是你的function getTime(){(function($) { }(mui)}为什么要写成这样的格式,明显已经语法错误了。还有你已经在define里面 mui.init()一次了,为什么gettime里面又来了一个$.init()。我能给到你的建议就是你要不打开HB的语法校验器,工具-选项-Hbuilder-语法验证器设置
2016-07-28 11:17
7***@qq.com (作者)
回复 lhyh:我直接拷贝的example里面的代码。我之前修改了的。但还报错的,就用了。好的。谢谢了。我们项目是pc端网站类型的。但是客户端体验差还有一下功能实现不了,就用mui改造了的。
2016-07-28 11:34