在layui.use中可以使用js函数么?

提问 已结
15 455
sun_smile
sun_smile 2018-9-3
悬赏:20飞吻
版本:layui 浏览器:
回帖
  • @sun956 写法可能不止一种,但是思路一样就是要把这个函数提升到全局能得到的地方,只要外面能得到就ok了,比如你可以定义一个项目的全局的相应的变量,大概如下面的:
    // 事件监听
    <button onclick="activeFn['sayHello']('xian');"><button>
    // 维护事件触发的全局变量
    var activeFn = {};

    layui.use('layer', function(layer){
    // use 里面更新之前定义的全局变量,同时能使用use里面的变量。
    $.extend(true, activeFn, {
    sayHello: function(msg) {layer.msg('hello, ' + msg);}
    , fn2: function(){}
    });
    });
    1 回复
  • 李大帅
    2018-11-22
    <html>
    <head>
    <link rel="stylesheet" href="layui/css/layui.css" media="all">
    </head>
    <body>
    <a class="layui-btn" id="test" href="javascript:;">测试</a><br/><br/>
    <a class="layui-btn" onclick="hello('this is a test')" href="javascript:;">hello</a>
    <script src="layui/layui.js"></script>
    <script type="text/javascript">
    layui.use(["jquery","layer","form"],function(){
    var $ = layui.$,layer = layui.layer,form = layui.form;
    $("#test").click(function(){
    hello("张三");
    });
    window.hello = function(obj) {
    layer.msg("hello world,"+obj);
    }
    });
    </script>
    </body>
    </html>
    1 回复
  • 不能这么写,外面获取不到的,换成
    window.show = function(){do something;};
    0 回复
  • 可以的[微笑]
    0 回复
  • 当然忘了一个,如果你这个函数只是想在use里面使用,这个写法也没啥问题的,就是比如外面的一个节点有一个类似下面的<button onclick="show();">显示</button>这样子点击会报错找不到show函数的
    0 回复
  • @岁月小偷 可以写,但是外面肯定不能获取咯 所以执行都写layui.use里咯
    0 回复
  • @CHC云 嗯嗯,不能这个词说的太武断了,关键问题是要怎么使用,要是在use内部是用这个肯定没问题,但是这个不是一个全局的函数,超出了use的范围就歇菜了。还有一般在use里面这么定义函数的目的更多的就是想要在全局用,不全局用的话使用funtion只是让他在use里面先使用后定义,其他的跟var没啥区别。具体看使用场景
    0 回复
  • sun_smile
    2018-9-3
    @岁月小偷 如果想再外卖使用就只有window.show = function(){do something;};这一个办法么?
    0 回复
  • sun_smile
    2018-9-3
    @岁月小偷 我是刚开始学layui,请问学习这个框架是不是jQuery要学很好?我是学完js,直接学的layui
    0 回复
  • @sun956 技多不压身,多看多练多做没什么捷径哈。“学好”这件事件不好说哈,不是说一定要某个语言学好了才能学其他的,前端一般js基础比较重要,有一定的基础积累还有经验积累,看别人写的代码才能很快的看到更加本质的东西还有别人写的代码的思路,领悟了积累了甚至能改进了就是自己思想的一部分了。
    0 回复
  • sun_smile
    2018-9-4
    @岁月小偷 好的 谢谢啦
    0 回复
  • @sun956 不客气[微笑]
    0 回复
  • sun_smile
    2018-9-4
    @岁月小偷 如果你有时间麻烦再看下交流区我的新问题[委屈]
    0 回复
  • @岁月小偷 大神强[钱]
    0 回复
  • @夜神月Yagami 谢谢认可[嘻嘻]
    0 回复