在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对JSON进行模式匹配 (Part 2 - 实现)
Jul 17 Javascript
jquery Moblie入门—hello world的示例代码学习
Jan 08 Javascript
关于onchange事件在IE和FF下的表现及解决方法
Mar 08 Javascript
JS网页在线获取鼠标坐标值的方法
Feb 28 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
Sep 14 Javascript
详解JavaScript函数
Dec 01 Javascript
JavaScript DOM 对象深入了解
Jul 20 Javascript
关于JavaScript数组你所不知道的3件事
Aug 24 Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 Javascript
解决koa2 ctx.render is not a function报错问题
Aug 07 Javascript
ES10的13个新特性示例(小结)
Sep 23 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
Apr 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新手上路(十四)
2006/10/09 PHP
PHP7安装Redis扩展教程【Linux与Windows平台】
2016/09/30 PHP
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JS测试显示屏分辨率以及屏幕尺寸的方法
2013/11/22 Javascript
与Math.pow 相反的函数使用介绍
2014/08/04 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
javascript使用shift+click实现选择和反选checkbox的方法
2015/05/04 Javascript
简述AngularJS相关的一些编程思想
2015/06/23 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
基于angularjs实现图片放大镜效果
2016/08/31 Javascript
JS 实现随机验证码功能
2017/02/15 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
原生JS实现的轮播图功能详解
2018/08/06 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
pytorch构建多模型实例
2020/01/15 Python
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
如何写一份好的自荐信
2014/01/02 职场文书
2014新年寄语
2014/01/20 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
《桃花心木》教学反思
2014/02/17 职场文书
出国留学经济担保书
2014/04/01 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
2015年机关党委工作总结
2015/05/23 职场文书
繁星春水读书笔记
2015/06/30 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
MybatisPlus EntityWrapper如何自定义SQL
2022/03/22 Java/Android