在React框架中实现一些AngularJS中ng指令的例子(react 指令)
25-01-25
22
本篇文章给大家谈谈在React框架中实现一些AngularJS中ng指令的例子,以及react指令的知识点,同时本文还将给你拓展Angular.Js中ng-include指令的使用与实现、angula
本篇文章给大家谈谈在React框架中实现一些AngularJS中ng指令的例子 ,以及react 指令 的知识点,同时本文还将给你拓展Angular.Js中ng-include指令的使用与实现、angularjs – 在React中使用自定义Angular指令、angularjs – 如何在Angular JS中的指令的模板中使用“ng-repeat”?、angularjs – 如何在Angular.js中实现promise时总是运行一些代码 等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
在React框架中实现一些AngularJS中ng指令的例子(react 指令) 首先设定一段Angularjs代码的ng-class:
rush:js;">
比较容易理解的Angularjs ng-class设置样式代码,那我们使用React怎么去实现它呢?
首先在state设置一个变量比如: isShowLoginMenu,在不同场景改变它的值,然后在绑定在class样式上面
rush:js;">
or
rush:js;">
<span id="vip-header-logo" className={'vip-logo icon-vip-v' + this.state.vipLevel}>
使用Angularjs我们可以这样做:
登录
那我们使用React要怎么去实现这样的场景呢?
<div>
<prehttps://www.jb51.cc/tag/rush/" target="_blank">rush:js;">
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}
;
} else {
loginHtml =
登录
;
}
return (
<div className="user">
{loginHtml}
Angular.Js中ng-include指令的使用与实现
前言
大家如果想在angularjs动态加载一个内容,那我们就可以使用ng-include来实现。今天Insus.NET就在ASP.NET MVC环境中,举个例子来演示它的功能。
示例介绍
你可以在一个视图动态加载任一其它视图。如果你的动态内容有很多部件,你得需要在控制器创建相应的Action操作,如使用部分Partial view就不必创建相对应的Action。因此这是Insus.NET所喜欢的。
另外,我们还需要为ng-include的链接带些参数呢!!!
因此,参数,即是使用model来实现:
由于ng-include的链接,直接给部分视图名称或路径,视图无法直接Render部分视图的。
那我们想一个办法,写一个公用的视图,所有部分视图均加载在这个公用的视图即可,使用这个公用的视图去Render这些部分视图。
在CommonView操作Action中,我们传入一个model,是为了后面传递参数准备的。
接下来,我把这个视图写好:
渲染部分视图的Action创建完毕。其也没有过多html的代码。
下面创建2个部分视图,当然实际环境中,也许不止2个啦。
部分视图_View1:
部分视图2:
前面一切准备好,均是为了下面ng-include的演示:
程序运行结果:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家学习或者使用Angular.js能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对小编的支持。
angularjs – 在React中使用自定义Angular指令
我试图用React渲染来实现替换Angular ng-repeat的“快速重复”模式.我可以渲染一个基本表,但该表需要支持自定义Angular指令.我可以在React(作为属性)中获取自定义指令,但它们不起作用.基于谷歌先生,这应该是可能的,但在我看来,或许我需要在React渲染的
HTML上进行$compile,其中包含我的自定义指令……或者不是.
这是我的精简测试代码. ‘react-test’指令似乎正确地呈现了ReactClass组件,其中包含一个’ng-monkey’属性,该属性本身就是一个Angular自定义指令.猴子似乎不起作用.有什么建议?
<!DOCTYPE html>
<html>
<head>
<Meta charset="utf-8" />
<title>Angular React Test</title>
<Meta http-equiv="X-UA-Compatible" content="IE=edge">
<Meta content="width=device-width,initial-scale=1.0" name="viewport" />
</head>
<body ng-app="AngularReactTest" ng-controller="TestController">
<react-test monkey></react-test>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.3/angular.min.js"> </script>
<script src="https://fb.me/react-0.13.3.js"></script>
<script>
var ReactClass = React.createClass({
displayName: 'ReactClass',render: function () {
return (
React.DOM.div({ 'data-ng-monkey': '' },null)
)
}
});
angular
.module('AngularReactTest',[])
.controller('TestController',[function () {
}])
.directive('reactTest',function () {
return {
restrict: 'E',link: function (scope,el,attrs) {
var test = React.createElement(ReactClass,null,null);
React.render(test,el[0],null);
}
}
})
.directive('ngMonkey',function () {
return {
restrict: 'A',attrs) {
alert('In ngMonkey link function...making my head hurt...');
},}
});
</script>
</body>
</html>
这是渲染结果:
<ReactTest>
<div data-ng-monkey></div>
</ReactTest>
解决方法
我知道这是一个古老的主题,但我认为这个解决方案可以帮助别人
React.createClass({
compileDirective: function () {
$compile(this.refs.monkey)($scope);
},componentDidMount: function () {
this.compileDirective();
},componentDidUpdate: function () {
this.compileDirective();
},render: function () {
return (
<div>
<monkey ref="monkey"></monkey>
</div>
);
}
});
angularjs – 如何在Angular JS中的指令的模板中使用“ng-repeat”?
我是新的Angular JS和我试图创建一个自定义指令,将使用如下:
< div linkedlist listcolumns =“{{cashAccountsColumns}}”>< / div>
Corrps。控制器将:
$scope.cashAccountsColumns = [
{"field": "description","title": "Description"},{"field": "owner","title":"Owner"},{"field": "currentBalance","title":"Current Balance" }
];
指令代码是:
return {
restrict : 'EA',transclude : false,templateUrl : 'html/linkedlist.html',scope: {
listcolumns: "@"
},link : function(scope,element,attrs) {
}
}
模板是:
<tablehttps://www.jb51.cc/tag/Box/" target="_blank">Box-table" width="100%">
<thead>
<tr>
<th scope="col" ng-repeat="column in listcolumns">
{{column.title}}
</th>
</tr>
</thead>
</table>
但这不工作。我没有得到column.title的值在屏幕上,太多的行如下被添加到DOM:
<th ng-repeat="column in listcolumns" scope="col"https://www.jb51.cc/tag/cop/" target="_blank">cope ng-binding"></th>
传递具有属性的整个对象将不起作用,您必须使用双向绑定。只需将绑定从@更改为=,并修改下面的HTML使其工作:
更改指令代码:
// ...
scope: {
listcolumns: "="
},// ...
对模板的更改:
<div linkedlist listcolumns="cashAccountsColumns"></div>
angularjs – 如何在Angular.js中实现promise时总是运行一些代码
在我的Angular.js应用程序中,我运行一些异步操作。在开始之前,我用一个模态div覆盖应用程序,然后一旦操作完成,我需要删除div,无论操作是否成功。
目前我有这个:
LoadingOverlay.start();
Auth.initialize().then(function() {
LoadingOverlay.stop();
},function() {
LoadingOverlay.stop(); // Code needs to be duplicated here
})
它工作得很好,但我更喜欢有一些更干净的像这个伪代码:
LoadingOverlay.start();
Auth.initialize().finally(function() { // *pseudo-code* - some function that is always executed on both failure and success.
LoadingOverlay.stop();
})
我认为这是一个相当普遍的问题,所以我认为可以做,但在文档中找不到任何东西。任何想法如果可以做到?
该功能已在
this pull request中实现,现在是AngularJS的一部分。它最初被称为“always”,然后重命名为finally,因此代码应如下所示:
LoadingOverlay.start();
Auth.initialize().then(function() {
// Success handler
},function() {
// Error handler
}).finally(function() {
// Always execute this on both error and success
});
请注意,由于finally是一个保留的关键字,可能有必要使其成为一个字符串,以便它不会在某些浏览器(如IE和Android浏览器)中断:
$http.get('/foo')['finally'](doSomething);
我们今天的关于在React框架中实现一些AngularJS中ng指令的例子 和react 指令 的分享已经告一段落,感谢您的关注,如果您想了解更多关于Angular.Js中ng-include指令的使用与实现、angularjs – 在React中使用自定义Angular指令、angularjs – 如何在Angular JS中的指令的模板中使用“ng-repeat”?、angularjs – 如何在Angular.js中实现promise时总是运行一些代码 的相关信息,请在本站查询。