ホームページ  >  に質問  >  本文

angular.js - 如何使用AngularJS隔离作用域中的'&'?

‘@’和'='倒是好理解,有没有一个必须使用'&'的场景?

<body ng-app="myApp" ng-init="content='abc'">
<p ng-controller="myController" >
    <input type="text" ng-model="content" />
    <p my-directive my-title="title" my-content="content" ></p>
</p>
</body>
<script type="text/javascript">
var myApp = angular.module('myApp', [])
.directive('myDirective', function($rootScope) {
    return {
        priority:1000,
        restrict: 'A',
        replace: true,
        scope: {
            myTitle:'@',
            myContent: '='
        },
        template: '<p><h2>{{myTitle}}</h2><p>from myDirective:{{myContent}}</p></p>'
    };
})  
.controller('myController',function($scope){
    $scope.content = 'from controller';
});
</script>

希望可以提供一个demo。

怪我咯怪我咯2736日前734

全員に返信(1)返信します

  • phpcn_u1582

    phpcn_u15822017-05-15 16:52:53

    & 使用法: 親スコープから関数を渡し、後で呼び出します

    いつ使用するか: ディレクティブでコントローラー メソッドを呼び出す必要がある場合、通常はディレクティブ内のパラメーターをコントローラー メソッドに渡します

    実際のケース: たとえば、ツリー構造のディレクティブでは、ノードを選択した後、サーバーにアクセスして選択したノードに基づいてデータを取得するなど、コントローラーでこのノードに対してさらに操作を実行する必要があります。 。したがって、ディレクティブでは、選択したノードをコントローラーに渡す必要があります。

    デモ

    デモコード:

    リーリー リーリー



    my-dialog-close.html:

    リーリー

    返事
    0
  • キャンセル返事