Javascript 角度平滑和动态数据未正确初始化

Javascript 角度平滑和动态数据未正确初始化,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我之所以使用该指令,是因为我发现在大多数情况下,它最适合我。但是,我仍然在使用动态数据正确初始化幻灯片时遇到问题 我有一个下拉列表,用于更新工厂中的relatedResorts json对象。我的控制器监视此更新并相应地更新scope.relatedResorts。一切正常 在滑块更新之前,幻灯片/内容+图像就在那里,看起来很正常。已应用slick初始化类,多余的幻灯片被隐藏。但它们不会拖动或自动前进,箭头甚至不会出现 然后,我将图像设置为可点击的,这样您也可以通过点击其中一张卡片来更新json

我之所以使用该指令,是因为我发现在大多数情况下,它最适合我。但是,我仍然在使用动态数据正确初始化幻灯片时遇到问题

我有一个下拉列表,用于更新工厂中的relatedResorts json对象。我的控制器监视此更新并相应地更新scope.relatedResorts。一切正常

在滑块更新之前,幻灯片/内容+图像就在那里,看起来很正常。已应用slick初始化类,多余的幻灯片被隐藏。但它们不会拖动或自动前进,箭头甚至不会出现

然后,我将图像设置为可点击的,这样您也可以通过点击其中一张卡片来更新json对象。在单击图像并刷新对象后,滑块实际上工作得更好,这很奇怪,但箭头仍然不起作用。您甚至可以拖动滑块查看其他幻灯片

我已经尝试了slick和unslick(这只有在加载dom后才起作用,即使应用了$timeout,看起来有点像黑客),创建了我自己的指令和$timeout。我绞尽脑汁想弄明白这一点

请帮忙

HTML:

<slick class="row slider" arrows="true" responsive="breakpoints" slides-to-show=3 slides-to-scroll=1 dots="false" infinite="true" speed="300" touch-move="false" ng-if="relatedResorts.length" init-onload=true data="relatedResorts">
    <div class="card col-md-4 col-sm-6 col-xs-12" ng-repeat="option in relatedResorts" ng-click="resetResort(option.id)">
        <div class="img-container"> 
                <div class="banner">
                <p>{{option.resort_name}}</p>
            </div>
            <img ng-src="assets/images/resorts/{{option.id}}/{{option.resort_img}}" alt="Luxury Resort: {{option.resort_name}}"/>
        </div>
    </div>
</slick>

好吧,我觉得有点不好意思。当然,在我发布问题后,我马上找到了答案。我没有一个足够长的被返回的物体,因为那个滑溜的东西没有向我显示箭头。但由于某些原因,一旦对象更新,箭头就会显示。我试了一个不同的物体,它的效果和我预期的一样。我仍然不知道为什么箭头不起作用,但我只是在slick-theme.css文件中关闭了图标,这对我来说很好。无论如何谢谢你

好吧,我觉得有点不好意思。当然,在我发布问题后,我马上找到了答案。我没有一个足够长的被返回的物体,因为那个滑溜的东西没有向我显示箭头。但由于某些原因,一旦对象更新,箭头就会显示。我试了一个不同的物体,它的效果和我预期的一样。我仍然不知道为什么箭头不起作用,但我只是在slick-theme.css文件中关闭了图标,这对我来说很好。无论如何谢谢你

resortModule.controller('relatedResortsController', ['$scope', 'locaService', '$timeout', function($scope, locaService, $timeout) {
    $scope.relatedResorts;
    $scope.resort;
    $scope.getRelated = function (resort) {
        //Resorts in location/destination on location change
        locaService.fetchRelatedResorts(resort).then(function(result) {
            $scope.relatedResorts= result;
        });
    }
    $scope.resetResort= function(resort){
        //reset resort for app when related resort image is clicked on. 
        $scope.resort= resort;
        locaService.updateResort(resort);
        /*$(".slider").slick('unslick');
        $(".slider").slick();*/
    }

    //watches factory for updates to objects
     $scope.$on('resortUpdated', function() {
        $scope.resort = locaService.resort;
        $scope.getRelated($scope.resort);
    });
}]);