Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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 视图仅渲染一次_Angularjs - Fatal编程技术网

Angularjs 视图仅渲染一次

Angularjs 视图仅渲染一次,angularjs,Angularjs,我的视图首次正确渲染,但在使用以下命令重新加载状态时: $state.reload(); 它加载,但有一个指令不加载。每次控制器重新加载和每次我收到数据时,都会通过数据服务请求数据 DataService.getWidgetsList().then(function (data) { $scope.widgets = JSON.parse(data); console.log($scope.widgets); // I receive correct JSON data

我的视图首次正确渲染,但在使用以下命令重新加载状态时:

$state.reload();
它加载,但有一个指令不加载。每次控制器重新加载和每次我收到数据时,都会通过数据服务请求数据

DataService.getWidgetsList().then(function (data) {
    $scope.widgets = JSON.parse(data);
    console.log($scope.widgets);
   // I receive correct JSON data every time here
});
我的视图代码:

<div mix-it-up class="sandbox tiles" ng-if="widgets" id="sandbox">
    <div class="mix tile {{getColour(widget.widgetTypeId)}} cat{{widget.widgetCategoryId}}" data-myorder="{{widget.title}}" ng-click="setWidget(widget.id)"
         ng-repeat="widget in widgets" modal-view-url="WidgetPreviewModal" modal-controller="widgetPreviewController" modal-size="lg">
        <div class=" tile-body">
            <i class="{{getIcon(widget.widgetTypeId)}}"></i>
        </div>
        <div class="tile-object">
            <div class="name">
                {{widget.title}}
            </div>
        </div>
    </div>
    <div class="gap"></div>
    <div class="gap"></div>
</div>

这里有什么我做错的吗?

你不应该按照
.directive
符号吗?我知道,指令符号在不同的页面上。这与此相关吗?也许你应该创建一个小提琴。
var mixItUp = function ($compile, $timeout) {
return {
    restrict: 'A',
    link: function (scope, element, attrs) {
            angular.element(element).mixItUp({
        });
    }}};

mixItUp.$inject = ['$compile', '$timeout'];