为什么ng-repeat不能在角度js中工作(使用指令)?

时间:2014-09-08 16:11:13

标签: javascript angularjs angularjs-directive angularjs-ng-repeat

我正在使用自定义指令的ng-repeat但我收到错误。你能告诉我如何删除这个错误

这是我的傻瓜 http://plnkr.co/edit/uj8b3hL8T6MjoKSZyjsc?p=preview 自定义指令 //代码在这里

angular.module('ui.directive',[]).directive('newDir',function(){
    return{
        restrict:'E',
        scope:{
            data:'='
        },
        replace:true,
        templateUrl:"pop.html",
        controller:function($scope){
           console.log($scope.data)
        },

        link :function(scope,element,attr){
            element.click(function(){



            })
        }
    }

})

1 个答案:

答案 0 :(得分:2)

产生的错误非常自我解释:

Error: [$compile:tplrt] Template for directive 'newDir' must have exactly one root element. pop.html

基本上,您需要确保模板有一个根节点。您已在最后添加了br标记。

更改:

<div><h1>{{str.name}}</h1><p>{{str.category}}</p></div></br>

要:

<div><h1>{{str.name}}</h1><p>{{str.category}}</p></div>

此外,

您的模板引用str,但范围变量为data。更改模板:

<div><h1>{{data.name}}</h1><p>{{data.category}}</p></div>

http://plnkr.co/edit/eUgmU45quL0VoNLY19ek?p=preview