从控制器传递不同数据到指令的最佳方法?

时间:2017-07-12 22:58:56

标签: angularjs angularjs-directive angularjs-controller

我有一个按钮,它将执行一个查询并将结果放入一个动态生成的指令中,每个查询结果都映射到一个指令(Think笔记本样式处理)。以这种方式将数据传递到指令的好方法是什么?我尝试使用绑定范围,但它似乎用相同的数据更新我的所有指令。我可以使用地图将我的数据映射到每个指令中,但我认为可能有更好的方法。这就是我所拥有的

angular.module('app')
.controller('DOController', ["$scope", "$compile",
    function($scope, $compile) {

        var i = 0;


        $scope.execute = function() {
            console.log("Executing");
            $scope.data = "testData" + i++;
            // Dynamically Add notebook pages
            var notebookPage = $compile("<notebook-page data='data'></notebook-page>")($scope);
            var notebookContainer = document.getElementById('notebook-container');
            angular.element(notebookContainer).prepend(notebookPage);

        }

    }

 ])
.directive('notebookPage', function() {

    var controller = function(){

    }

    return{
        restrict: 'E',
        templateUrl: 'notebookpage.html',
        scope: {
            data: '=data'
          }
    }
});

HTML

<div class="notebook-page">
     <p>{{data}}</p>

</div>

编辑:我想我找到了解决方案

  var notebookPage = $compile("<notebook-page data=" + someDataHere + "></notebook-page>")($scope);

0 个答案:

没有答案