0

私は簡単なディレクティブを持っています:

var goodsProperties = angular.module('goodsProperties', []);

goodsProperties.directive('showGoodsProperties', function() {    
    var directive = {
        priority: 0,
        template: '<h1>Hello World</h1>',
        replace: false,
        transclude: false,
        restrict: 'C'
    };

    return directive;
});

html は次のとおりです。

<div ng-app="goodsProperties">
    <div class="showGoodsProperties"></div>
</div>

そして、Javascriptに動的要素を追加したい。完全なコードはhttp://jsfiddle.net/ZvPmh/5/を参照してください

ディレクティブ クラスで新しいタグを追加する関数 addClick() があります。

本文で addClick() を呼び出すと、すべて正常に動作します。しかし、a-tag で addClick() を呼び出すと、Angular はディレクティブのような新しい要素を認識しません。

4

1 に答える 1

3

「Angular world」にとどまります。コントローラーを使用して自分のものを制御します。次のようにコントローラーを定義します。

var Ctrl = function($scope){
    $scope.divs = [{}];
    $scope.add = function(){
        this.divs.push({});
    }
}

そして、次のようにマークアップで使用します。

<div ng-app="goodsProperties" ng-controller="Ctrl">
    <a href="#" ng-click="add()">add</a>
    <div ng-repeat="div in divs" class="showGoodsProperties"></div>
</div>

作業例: http://jsfiddle.net/ZvPmh/7/

于 2013-10-08T09:35:30.653 に答える