Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.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
Angularjs 指令可用于TemplateUrl,但不能用于TemplateUrl_Angularjs_Angularjs Directive_Angularjs Ng Repeat - Fatal编程技术网

Angularjs 指令可用于TemplateUrl,但不能用于TemplateUrl

Angularjs 指令可用于TemplateUrl,但不能用于TemplateUrl,angularjs,angularjs-directive,angularjs-ng-repeat,Angularjs,Angularjs Directive,Angularjs Ng Repeat,这是一个奇怪的。我是个新手,只学了一个星期左右 我有两条指示 第一: app.directive('block', function() { return { restrict: 'E', replace: true, scope:true, link: function(scope, element, attrs) { scope.blockCss = function() {

这是一个奇怪的。我是个新手,只学了一个星期左右

我有两条指示

第一:

app.directive('block', function() {
   return {
       restrict: 'E',
       replace: true,
        scope:true,
       link: function(scope, element, attrs) {
           scope.blockCss = function() {
                return attrs.block;
           }
           scope.blockSize = function() {
                return attrs.blocksize;
           }
           scope.category = function() {
                return attrs.category;
           }
       },
       templateUrl: function(elem,attrs) {
           return attrs.block + '.html';
       }
   }
});
这在一个名为:

<block blocksize="3" category="foo1" blockcss="bar1"></block>

现在是踢球者

相同的指令,但从TemplateUrl更改为TemplateUrl,以便具有更动态的内容:

app.directive('block', function() {
   return {
       restrict: 'E',
       replace: true,
        scope:true,
       link: function(scope, element, attrs) {
           scope.blockCss = function() {
                return attrs.block;
           }
           scope.blockSize = function() {
                return attrs.blocksize;
           }
           scope.category = function() {
                return attrs.category;
           }
       },
       template: function(elem,attrs) {

           return '<div class="blocksize{{blockSize()}} {{blockCss()}}" ng-repeat="item in items | orderByPriority | filter:{category:category()} | orderBy:myorder" ng-include src="\'{{blockCss()}}.html\'"></div>';
       }
   }
});
app.directive('block',function(){
返回{
限制:'E',
替换:正确,
范围:正确,
链接:函数(范围、元素、属性){
scope.blockCss=函数(){
返回属性块;
}
scope.blockSize=函数(){
返回attrs.blocksize;
}
scope.category=函数(){
返回属性类别;
}
},
模板:函数(元素、属性){
返回“”;
}
}
});
我可能是个白痴,但如果有人能告诉我我错过了什么,我将不胜感激

除此之外,我希望能够在模板或模板URL中引用元素(例如“block”元素)中的属性-这就是为什么我有范围定义(需要是范围子项)


非常期待任何回复。

我认为您不能将模板用作函数,而且在您的情况下,它没有任何意义,因此您最好只使用模板:“字符串”好的,非常感谢。这对它有很大的帮助。但是我仍然无法将根元素的属性放入ng include模板中。有什么方法可以让我这么做吗?@DayanMorenoLeon你可以用一个函数作为模板,这个函数只需要返回一个字符串。但我还是不明白OP想要做什么嘿你能给我指一下那部分文档吗?我没有;我没有看到功能性的文档,这将是非常有趣的,你可以用它做有趣的事情