Javascript 角度平滑和动态数据未正确初始化
我之所以使用该指令,是因为我发现在大多数情况下,它最适合我。但是,我仍然在使用动态数据正确初始化幻灯片时遇到问题 我有一个下拉列表,用于更新工厂中的relatedResorts json对象。我的控制器监视此更新并相应地更新scope.relatedResorts。一切正常 在滑块更新之前,幻灯片/内容+图像就在那里,看起来很正常。已应用slick初始化类,多余的幻灯片被隐藏。但它们不会拖动或自动前进,箭头甚至不会出现 然后,我将图像设置为可点击的,这样您也可以通过点击其中一张卡片来更新json对象。在单击图像并刷新对象后,滑块实际上工作得更好,这很奇怪,但箭头仍然不起作用。您甚至可以拖动滑块查看其他幻灯片 我已经尝试了slick和unslick(这只有在加载dom后才起作用,即使应用了$timeout,看起来有点像黑客),创建了我自己的指令和$timeout。我绞尽脑汁想弄明白这一点 请帮忙 HTML:Javascript 角度平滑和动态数据未正确初始化,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我之所以使用该指令,是因为我发现在大多数情况下,它最适合我。但是,我仍然在使用动态数据正确初始化幻灯片时遇到问题 我有一个下拉列表,用于更新工厂中的relatedResorts json对象。我的控制器监视此更新并相应地更新scope.relatedResorts。一切正常 在滑块更新之前,幻灯片/内容+图像就在那里,看起来很正常。已应用slick初始化类,多余的幻灯片被隐藏。但它们不会拖动或自动前进,箭头甚至不会出现 然后,我将图像设置为可点击的,这样您也可以通过点击其中一张卡片来更新json
<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);
});
}]);