GVKun编程网logo

在React框架中实现一些AngularJS中ng指令的例子(react 指令)

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 指令)

在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我们可以这样做:

rush:js;"> 登录了
登录

那我们使用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指令的使用与实现

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指令

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”?

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时总是运行一些代码

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时总是运行一些代码的相关信息,请在本站查询。

本文标签: