在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 相关文章推荐
newxtree.js代码
Mar 13 Javascript
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
js键盘事件的keyCode
Jul 29 Javascript
javascript设置文本框光标的方法实例小结
Nov 04 Javascript
浅谈react.js 之 批量添加与删除功能
Apr 17 Javascript
通过js控制时间,一秒一秒自己动的实例
Oct 25 Javascript
webpack公共组件引用路径简化小技巧
Jun 15 Javascript
微信小程序数据统计和错误统计的实现方法
Jun 26 Javascript
浅析Vue下的components模板使用及应用
Nov 27 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
Jan 02 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
May 24 Javascript
uniapp开发打包多端应用完整方法指南
Dec 24 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
法国:浪漫之都的咖啡文化
2021/03/03 咖啡文化
深入了解PHP类Class的概念
2012/06/14 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
用jquery来定位
2007/02/20 Javascript
js电信网通双线自动选择技巧
2008/11/18 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
jquery实现图片翻页效果
2013/12/23 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
js实现文字列表无缝滚动效果
2017/06/23 Javascript
JS实现批量上传文件并显示进度功能
2017/06/27 Javascript
vue移动端路由切换实例分析
2018/05/14 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
vue中导出Excel表格的实现代码
2018/10/18 Javascript
使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)
2018/10/23 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
js实现的在本地预览图片功能示例
2019/11/09 Javascript
Python实现处理管道的方法
2015/06/04 Python
python实现教务管理系统
2018/03/12 Python
Python 把序列转换为元组的函数tuple方法
2019/06/27 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
Django models filter筛选条件详解
2020/03/16 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
MSC邮轮官方网站:加勒比海、地中海和世界各地的假期
2018/08/27 全球购物
美国最大的在线寄售和旧货店:Swap.com
2018/08/27 全球购物
技术经理的自我评价范文
2013/12/03 职场文书
前台文员个人求职信范文
2014/01/05 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
《少年王勃》教学反思
2014/04/27 职场文书