帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
4
帖子
1
勋章
642
Y币

[插件使用] time not define at main,这是一篇代码都不会的小白教学帖netTime

[复制链接]
发表于 2022-9-9 16:24:43
本帖最后由 BIP24956 于 2022-9-13 19:30 编辑


1.请教怎么下定义呢,获取服务器时间一直没成功。(报time1 is not define at main)是什么格式没设置吗?小白一枚求教
631af842e7d1f.png

2.然后我改成这样了,没有显示值出来

631b149c97984.png


3.然后我点击项目---点击编译项目,console打印日志如图。提示需要export default
631b159962248.png





4
帖子
1
勋章
642
Y币
本帖最后由 BIP24956 于 2022-9-12 13:58 编辑

这个我是先在白板上试效果的,成功后复制到我复杂一点的项目里面去,又不行了。说是一个项目只能有一个exportdefault,var只能放到apiready里面等等各种问题。
解决了这些之后终于成功了。
就是BODY里面单独插入text控件,script里的exportdefault里单独插入data输出结果,
apiready里面单独插入var。但是我又想增加mnpopups气泡弹窗模块,这下又难倒我了。
  1. <template>
  2.     <view class="view_3">
  3.         <frame class="frame_2" bounces="true" scrollToTop="true" scrollEnabled="true" vScrollBarEnabled="true" hScrollBarEnabled="true" softInputBarEnabled="true"></frame>
  4.         <avm-address class="page" v-bind:dataList="list" onresult="onGetResult"></avm-address>
  5.         <text class="text_1">{timeDesc}</text>
  6.         <button class="button_1" tapmode="active" onclick="fnOpen()" style="padding:6px 20px;border:1px solid #dfdfdf;border-radius:4px;background-color:#ffffff00;">按钮</button>
  7.    
  8.     </view>
  9. </template>
  10. <script type="text/javascript" src="script/api.js"></script>
  11. <script>
  12. import '../../components/avm-address/avm-address.stml';
  13. export default {
  14.     name: 'demo-avm-address',
  15.     apiready() {
  16.         var netTime = api.require('netTime');
  17.         this.data.timeMltiSelectorValue = [new Date().getHours(), new Date().getMinutes(), new Date().getSeconds()];
  18.         var date = new Date(1477386005 * 1000);
  19.         this.data.timeDesc = formatDate(new Date());
  20.         var mnPopups = api.require('MNPopups');

  21.         function formatDate(date) {
  22.             let myYear = date.getFullYear();
  23.             let myMonth = date.getMonth() + 1;
  24.             let myWeekday = date.getDate();
  25.             let myHour = date.getHours();
  26.             let myMinute = date.getMinutes();
  27.             let mySecond = date.getSeconds();
  28.             if (myMonth < 10) {
  29.                 myMonth = '0' + myMonth;
  30.             }
  31.             if (myWeekday < 10) {
  32.                 myWeekday = '0' + myWeekday;
  33.             }
  34.             if (myHour < 10) {
  35.                 myHour = '0' + myHour;
  36.             }
  37.             if (myMinute < 10) {
  38.                 myMinute = '0' + myMinute;
  39.             }
  40.             if (mySecond < 10) {
  41.                 mySecond = '0' + mySecond;
  42.             }
  43.             return `${myYear}.${myMonth}.${myWeekday} ${myHour}:${myMinute}:${mySecond}`;
  44.         }
  45.         console.log(formatDate(new Date()));
  46.     },
  47.     data() {
  48.         return {
  49.             Hour: [],
  50.             minute: [],
  51.             second: [],
  52.             timeMltiSelectorValue: ['', '', ''],
  53.             timeDesc: '',
  54.             list: {
  55.                 areaTitle: ' :'
  56.             }
  57.         };
  58.     },
  59.     methods: {
  60.         onGetResult(e) {
  61.             //返回地址
  62.             console.log(JSON.stringify(e.detail));
  63.         }
  64.     }
  65. };
复制代码

4
帖子
1
勋章
642
Y币
然后我放弃了MNPOPUPS模块,用不来。于是我试着用avm-popups,但是框架的属性又只有几个默认的,放弃了。
现在用一个view,里面放一些按钮作为跳转口,然后用按钮实现,view的隐藏和开启,然后又难道我了。。。。可视化还只是个半成品吧?要啥啥没有,不是应该动作和模块,容器,属性都是直接拖拽和定义就好了吗,还需要写那么多代码。。。。用PPT都能做一个了。。。
BIP24956 · 2022-9-12 13:56这个我是先在白板上试效果的,成功后复制到我复杂一点的项目里面去,又不行了。说是一个项目只能有一个exportdefault,var只能放到apiready里面等等各种问题。
解决了这些之后终于成功了。
就是BODY里面单独插入te ...
4
帖子
1
勋章
642
Y币
终于有所理解了,function就是method,apiready就是初始界面的一个状态,按钮触发刷新时间的话,用了一个非常简单的方法就是在method里重新获取时间,重新赋值。然后回过头来看已经忘了我是怎么把avm-address放进去的,别的代码动来动去,丝毫不受影响
看着有语法错误,括号下边有红色标记
4
帖子
1
勋章
642
Y币
本帖最后由 BIP24956 于 2022-9-12 13:59 编辑

然后仿照hello app 里输出文字的例子,编写成这样,然而还是报data is not define at main
  1. <template>
  2.     <safe-area class="body">
  3.         <text class="text_1">{data}</text>
  4.     </safe-area>
  5. </template>
  6. <script>
  7.    export default {
  8.     name: 'main',
  9.     apiready() {
  10.         var netTime = api.require('netTime');
  11.         var date = new Date(nettime.getTime());
  12.     },
  13.     data() {
  14.         return {
  15.             msg: "netTime"
  16.         };
  17.     },
  18.     methods: {}
  19. };
  20. </script>
复制代码



380
帖子
4
勋章
6
Y币
代码不对,再思考一下
4
帖子
1
勋章
642
Y币
回去好好过节,让我肝一会儿
技术咨询-F · 2022-9-9 18:55代码不对,再思考一下
4
帖子
1
勋章
642
Y币
本帖最后由 BIP24956 于 2022-9-12 13:59 编辑

然后研读了nettime模块https://www.apicloud.com/mod_detail/38115的开发者文档https://docs.apicloud.com/Client-API/Func-Ext/netTime,参考一下点餐的视频https://developer.yonyou.com/thread-213171-1-1.html和代码https://www.apicloud.com/avm_code/。修改成下面代码,输出了msg里的值,没有输出datetime。
  1. <template>    <safe-area class="body">
  2.         <text class="text_1">{this.data.msg}</text>
  3.     </safe-area>
  4. </template>
  5. <script>
  6.    export default {
  7.         name: 'main',
  8.         apiready() {
  9.                 var netTime = api.require('netTime');
  10.         var date = new Date(nettime.getTime());
  11.         },
  12.         data() {
  13.                 return {
  14.                         msg: "date"
  15.                 };
  16.         },
  17.         methods: {}
  18. };
  19. </script>
复制代码



代码并没有写输出
4
帖子
1
勋章
642
Y币
本帖最后由 BIP24956 于 2022-9-11 19:40 编辑

然后报没有nettime模块,原来是要区分大小写。便改成了netTime。然后更改代码如下,成功取得时间,不过时间里附带了gts时区,没有样式
631bbbd82e626.png
参考了CSTN 上面一些文章,然后发现取系统时间,只要new date()就行。似乎不需要使用付费的模块netTime。
样式可以自己写,
12下一页
您需要登录后才可以回帖 登录

本版积分规则