在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 相关文章推荐
JSON 学习之JSON in JavaScript详细使用说明
Feb 23 Javascript
css+js实现部分区域高亮可编辑遮罩层
Mar 04 Javascript
介绍JavaScript的一个微型模版
Jun 24 Javascript
jquery实现的缩略图预览滑块实例
Jun 25 Javascript
jquery实现简单实用的打分程序实例
Jul 23 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
Apr 08 Javascript
jQuery简单实现上下,左右滑动的方法
Jun 01 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
webpack多页面开发实践
Dec 18 Javascript
vue2.0 路由不显示router-view的解决方法
Mar 06 Javascript
create-react-app构建项目慢的解决方法
Mar 14 Javascript
Vuex实现数据增加和删除功能
Nov 11 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
数据库相关问题
2006/10/09 PHP
php获取apk包信息的方法
2014/08/15 PHP
10款PHP开源商城系统汇总介绍
2015/07/23 PHP
YII2.0之Activeform表单组件用法实例
2016/01/09 PHP
windows 2008r2+php5.6.28环境搭建详细过程
2019/06/18 PHP
javascritp实现input输入框相关限制用法
2007/06/29 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
input的focus方法使用
2010/03/13 Javascript
19个很有用的 JavaScript库推荐
2011/06/27 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
javascript面向对象包装类Class封装类库剖析
2013/01/24 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
js面向对象的写法
2016/02/19 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
Python读写Excel文件方法介绍
2014/11/22 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
python+logging+yaml实现日志分割
2019/07/22 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
Pytorch框架实现mnist手写库识别(与tensorflow对比)
2020/07/20 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
大学生村官心得体会范文
2014/01/04 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
Go 实现英尺和米的简单单位换算方式
2021/04/29 Golang