在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 相关文章推荐
js脚本学习 比较实用的基础
Sep 07 Javascript
JQuery Ajax 跨域访问的解决方案
Mar 12 Javascript
filters.revealTrans.Transition使用方法小结
Aug 19 Javascript
js中indexof的用法详细解析
Dec 24 Javascript
jQuery 插件开发指南
Nov 14 Javascript
分享十五款 jQuery 社交网络分享插件
May 16 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
May 24 Javascript
用JavaScript实现让浏览器停止载入页面的方法
Jan 19 Javascript
Vue实现数字输入框中分割手机号码的示例
Oct 10 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
Dec 22 Javascript
Vue实现点击按钮复制文本内容的例子
Nov 09 Javascript
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
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代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
PHP跨时区(UTC时间)应用解决方案
2013/01/11 PHP
PHP提高编程效率的20个要点
2015/09/23 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
jquery select下拉框操作的一些说明
2010/04/02 Javascript
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
Bootstrap基础学习
2015/06/16 Javascript
js实现仿网易点击弹出提示同时背景变暗效果
2015/08/13 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
jQuery EasyUi 验证功能实例解析
2017/01/06 Javascript
详解angular2封装material2对话框组件
2017/03/03 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
React中的render何时执行过程
2018/04/13 Javascript
vue项目中api接口管理总结
2018/04/20 Javascript
vue项目中公用footer组件底部位置的适配问题
2018/05/10 Javascript
vue实现自定义多选与单选的答题功能
2018/07/05 Javascript
Python中针对函数处理的特殊方法
2014/03/06 Python
在Python的Flask框架中使用日期和时间的教程
2015/04/21 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
python给微信好友定时推送消息的示例
2019/02/20 Python
selenium处理元素定位点击无效问题
2019/06/12 Python
python scipy卷积运算的实现方法
2019/09/16 Python
python3.8下载及安装步骤详解
2020/01/15 Python
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
国贸专业个人求职信范文
2014/01/08 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
检讨书范文
2019/04/16 职场文书
Python内置数据结构列表与元组示例详解
2021/08/04 Python
Java生成日期时间存入Mysql数据库的实现方法
2022/03/03 Java/Android
图片批量处理 - 尺寸、格式、水印等
2022/03/07 杂记
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js