我正在尝试将jQuery Raty plugin与AngularJS一起使用。还没有成功。

我需要的是这样的:

<ul>
    <li ng-repeat="obj in collection">
        <p>{{obj.rating}}</p>
        <div id="star{{$index}}"></div>

        <p>{{obj.someText}}</p>

        <script>$("#star{{$index}}").raty();</script>
    </li>
</ul>


但是该脚本似乎没有执行,甚至没有出现在网页中。除此之外,它看起来也很丑陋,但是我没有更多的想法。

我怎样才能做到这一点?还是我需要为星星添加其他插件/功能?

最佳答案

如果必须这样做,我将开发一个AngularJS指令,如下所示:

JS

yourApp.directive("raty", function() {
    return {
        restrict: 'AE',
        link: function(scope, elem, attrs) {
            $(elem).raty({score: attrs.score, number: attrs.number});
        }
    }
}


的HTML

<raty id="star{{$index}}" score="1" number="5"></raty>




如果要在Raty上添加一些参数,则可以只编辑我的指令;)

10-06 11:50