Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态创建指令_Javascript_Angularjs_Directive - Fatal编程技术网

Javascript 动态创建指令

Javascript 动态创建指令,javascript,angularjs,directive,Javascript,Angularjs,Directive,我对AngularJS很陌生。我想我已经学习了大部分的基础知识。我想创建一种桌面,桌面上显示的项目通过$http从数据库动态加载。对于项目,我创建了一个指令,用于包装标题和图标的显示。现在我的问题是,我不知道如何动态创建指令实例。我的控制器如下所示: $scope.loadItems = function () { $http.get('api/StartcenterItems'). success(function (data) { var itemsConta

我对AngularJS很陌生。我想我已经学习了大部分的基础知识。我想创建一种桌面,桌面上显示的项目通过$http从数据库动态加载。对于项目,我创建了一个指令,用于包装标题和图标的显示。现在我的问题是,我不知道如何动态创建指令实例。我的控制器如下所示:

$scope.loadItems = function () {
    $http.get('api/StartcenterItems').
    success(function (data) {
        var itemsContainer =  angular.element(document.querySelector("#itemsContainer"));

        for (var i = 0; i < data.length ; ++i) {
            itemsContainer.append('<hl-start-center-item title="Test"></hl-start-center-item>');
        }
    }).
    error(function (data) {
        alert(data);
    });
success(function (data) {
    $scope.data = data;
    }
}).
$scope.loadItems=函数(){
$http.get('api/StartcenterItems')。
成功(功能(数据){
var itemsContainer=angular.element(document.querySelector(“#itemsContainer”);
对于(变量i=0;i
其中hl start center项是指令。问题是指令的html代码被追加,但它不是通过Angular编译的,也不是通过浏览器显示的。我必须做什么才能使指令正确显示? 如果你需要更多的代码来重现这个问题,请告诉我

谢谢你的建议,
Nicolas

我认为这是使用
ngRepeat
指令的好地方

在主HTML中:

<div id="itemsContainer">
    <div ng-repeat="item in data >
        <hl-start-center-item title="Test"></hl-start-center-item>
    </div>
</div>

你能添加指令代码吗?如果你也能添加HTML来了解你是怎么做的,那就更好了this@NicolasR:关于角度基础知识,显然还有很多东西需要学习。最重要的是:它不是jQuery!(你需要
$compile
并链接HTML以实现你想要的,但这是你最小的问题…)@Seminda。感谢您的回复,请参阅我对CaspNZ的评论。谢谢,就这样!!!实际上我是这样使用静态项目数组的。当我切换到动态加载项目时,我不必要地将其更改为我发布的代码。我忘了,$scope.data=data将自动重新编译html。非常舒服。再次感谢。