在React框架中实现一些AngularJS中ng指令的例子


Posted in Javascript onMarch 06, 2016

首先设定一段Angularjs代码的ng-class:

<i class="header-help-icon down" ng-class="{up:showMenu}"></i>

 
比较容易理解的Angularjs ng-class设置样式代码,那我们使用React怎么去实现它呢?

首先在state设置一个变量比如: isShowLoginMenu,在不同场景改变它的值,然后在绑定在class样式上面  
  

<i className={"header-help-icon down" + (this.state.isShowLoginMenu ? ' up' : '')}></i>

  or  

<span id="vip-header-logo" className={'vip-logo icon-vip-v' + this.state.vipLevel}></span>

使用Angularjs我们可以这样做:

<div class="logined" ng-show="isLogin">登录了</div> 
<div class="logined" ng-if="isLogin">你好,{userName}</div> 
<div class="no-login" ng-hide="isLogin">未登录</div>

 
 
那我们使用React要怎么去实现这样的场景呢?

React.createClass({ 
 getInitialState: function() { 
  return { 
   isLogin: true, 
   userName: 'Joe' 
  }; 
 }, 
 
 render: function() { 
   var isLogin = this.state.isShowLoginMenu, 
   loginHtml; 
 
   if (isLogin) { 
    loginHtml = 
     <div className="logined"> 
      登录了,欢迎{this.state.userName} 
     </div>; 
   } else { 
    loginHtml = 
     <div className="no-login"> 
      未登录 
     </div>; 
   } 
 
  return ( 
    <div className="user"> 
     {loginHtml} 
    </div> 
  ); 
 }
Javascript 相关文章推荐
Javascript实现关联数据(Linked Data)查询及注意细节
Feb 22 Javascript
jQuery插件Tmpl的简单使用方法
Apr 27 Javascript
JS全局变量和局部变量最新解析
Jun 24 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
Oct 20 Javascript
js实现时间轴自动排列效果
Mar 09 Javascript
浅析vue中常见循环遍历指令的使用 v-for
Apr 18 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
May 28 Javascript
layui 给数据表格加序号的方法
Aug 20 Javascript
微信小程序使用swiper组件实现类3D轮播图
Aug 29 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
Sep 27 Javascript
IE浏览器下JS脚本提交表单后,不能自动提示问题解决方法
Jun 04 Javascript
element-ui点击查看大图的方法示例
Dec 14 Javascript
javascript实现label标签跳出循环操作
Mar 06 #Javascript
使用JavaScript脚本判断页面是否在微信中被打开
Mar 06 #Javascript
JavaScript实现图片滑动切换的代码示例分享
Mar 06 #Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
Mar 06 #Javascript
AngularJS页面访问时出现页面闪烁问题的解决
Mar 06 #Javascript
JavaScript模拟数组合并concat
Mar 06 #Javascript
JavaScript模拟push
Mar 06 #Javascript
You might like
php跨站攻击实例分析
2014/10/28 PHP
php定义参数数量可变的函数用法实例
2015/03/16 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
js数组如何添加json数据及js数组与json的区别
2015/10/27 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
javascript实现table单元格点击展开隐藏效果(实例代码)
2017/04/10 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
[01:18:33]Secret vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
学习python的几条建议分享
2013/02/10 Python
python中Genarator函数用法分析
2015/04/08 Python
在Python的Django框架中显示对象子集的方法
2015/07/21 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
python字典操作实例详解
2017/11/16 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
Python subprocess模块常见用法分析
2018/06/12 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
英语专业学子个人的自我评价
2013/10/02 职场文书
大学班级干部的自我评价分享
2014/02/10 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
12.4法制宣传日标语
2014/10/08 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis
使用GO语言实现Mysql数据库CURD的简单示例
2021/08/07 Golang