javascript – 角度指令不评估内部重复

前端之家收集整理的这篇文章主要介绍了javascript – 角度指令不评估内部重复前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下设置:

应用程序/指令

var app = angular.module("MyApp",[]);

app.directive("adminRosterItem",function () {
    return {
        restrict: "E",scope: {
            displayText: "@"
        },template: "<td>{{ displayText }}</td>",// should I have this?
        link: function(scope,element,attrs){
            // What do I put here? I don't seem to have any
            // element to initialize (set up event handlers,for example)
        },compile: function(?,?,?){} // should I have this? If so,what goes inside?
    }
});

调节器

function PositionsController($scope) {
           $scope.positions = [{ Name: "Quarterback",Code: "QB" },{ Name: "Wide Receiver",Code: "WR" }
                              ]; 
}

HTML:

<div ng-app="MyApp">
    <div ng-controller="PositionsController">            
        <table>
            <tr ng-repeat="position in positions">
                <admin-roster-item displayText="{{ position.Name + ' (' + position.Code + ')' }}"></admin-roster-item>
             </tr>
         </table>       
    </div>
</div>

这是一个非常简单的例子,但我无法让它呈现.也许有一些教程没有告诉我,还是那个秘密的角色知识?

如果我删除< trng-repeat =“...”/>内的指令并将< td> {{displayText}}< / td>相反,它将显示所有记录.

但是,我希望该指令比仅仅一个< td> {{}}< / td>更复杂. (最终),以便我可以在多个应用程序中重用此指令.

所以,我真的问我们如何正确地创建一个内容重复的指令?我失踪了什么应该从上面的代码中取消什么?

解决方法

同意你需要考虑指令的开始和结束.这是一个plnkr,它说明了绑定到数组中每个项目的指令 – http://plnkr.co/edit/IU8fANreYP7NYrs4swTW?p=preview

如果你想让这个指令封装一个由父范围定义的集合的枚举,它就会变得更加棘手.我不知道以下是“最佳实践”,但这是我如何处理它 – http://plnkr.co/edit/IU8fANreYP7NYrs4swTW?p=preview

当依赖该指令执行迭代时,您会涉及到跨越,这是一个组成的单词,意思是(据我所知)采用父级中定义的内容,将其推入指令中,然后对其进行评估.我一直在工作几个月,我开始认为,要求这个指令迭代是一种气味,我一直能够设计出来.

原文链接:https://www.f2er.com/js/152136.html

猜你在找的JavaScript相关文章