收藏
回答

小程序能不能提供自定义指令?

像vue一样可以自定义指令,这样一些角色权限控制就简单很多,列如:<view wx:permission=[1,2,3]>添加</view> ;1,2,3表示每个角色,也就是只有1,2,3这个角色可以显示添加或激活添加按钮,其他的角色不可以。

回答关注问题邀请回答
收藏

3 个回答

  • brave
    brave
    2020-03-14

    这不就是wx:if去判断就行了吗

    2020-03-14
    有用 1
    回复 5
    • 山高水長
      山高水長
      2020-03-14
      这个是局部的,我希望的是全局指令
      2020-03-14
      回复
    • brave
      brave
      2020-03-14回复山高水長
      wx:if="{{type == 0}}"  data: { type: getApp().globalData.type }
      2020-03-14
      回复
    • 山高水長
      山高水長
      2020-03-16回复brave
      行吧,谢了,看来只能这样了,不能像vue一样定义全局指令了
      2020-03-16
      回复
    • 牧沐
      牧沐
      2021-08-24回复山高水長
      老哥  最后怎么解决的?
      2021-08-24
      回复
    • 🥓
      🥓
      2021-09-07
      有办法了吗
      2021-09-07
      回复
  • Mojon
    Mojon
    2023-05-26

    我有一种思路,用全局空组件处理权限问题

    缺点:需要外加一层壳,难看是难看,但是使用简单。

    优点:不用每个地方导入getApp().globalData.permissions 在组件中完成

    注意:原本想用 wxs 做,但是 wxs 无法直接使用getApp;wxs文件还需要每个地方引入。


    注册全局组件 app.json 

    "usingComponents":{
      "perms":"/components/perms"
     }
    


    使用权限组件

    <perms value="权限"><text>内容</text></perms>
    


    组件 perms.wxml (空组件

    <slot wx:if="{{show}}"></slot>
    


    组件 perms.js

    properties: {
     //菜单权限
     value: {
      type: String,
      value: ''
    },
    data: {
     showtrue
    },
    lifetimes: {
     attached: function(){
        //从全局数据取出权限列表:['权限']
        const list = getApp().globalData.permissions,
        const show = list.indexOf(this.properties.value) != -1
        this.setData({ show })
      }
    },  
    


    2023-05-26
    有用
    回复
  • 小确幸°
    小确幸°
    2021-11-16

    解决了吗? 还得用wx:if去判断吗

    2021-11-16
    有用
    回复
登录 后发表内容
问题标签