Вещи в контроллере не отображаются с помощью AngularJS

0

Я пытаюсь показать silder, используя ng-repeat. Но картинки и другие вещи в контроллере не отображаются. Вот мой код js

angular.module('starter', [])
.controller('slider', function($scope) {
    $(document).ready(function(){
      $('.slider').slider({full_width: true});
    });
     $scope.pictures=[
  {
    img:"http://www.brics-info.org/wp-content/uploads/2015/08/Transmission-Lines.jpg,
    info:"Эрчим хүчний барилга угсралт",
    desc:"Засвар, тестчилэл"
  },
  {
    img:"http://www.burns-group.com/images/uploads/projects/Amtrak-Zoo-Transmission-Line-3.jpg",
    info:"Эрчим хүчний барилга угсралт",
    desc:"Засвар, тестчилэл"
  },
  {
    img:"http://www.sgceng.com/snp_lib/showpic.php?recordID=630&timestamp=1204139644&table=sgcengco",
    info:"Эрчим хүчний барилга угсралт",
    desc:"Засвар, тестчилэл"
  }
  ] ;
})
This is index.html
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!-- Compiled and minified CSS -->
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/css/materialize.min.css">

  <!-- Compiled and minified JavaScript -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/js/materialize.min.js"></script>
          
<div class="slider" ng-app="starter" ng-controller="slider">
    <ul class="slides">
      <li ng-repeat="picture in pictures">
        <img ng-src="{{picture.img}}"> <!-- image -->
        <div class="caption center-align">
          <h3 class="black-text">{{picture.info}}</h3>
          <h5 class="blue blue-text text-lighten-4">{{picture.desc}}</h5>
        </div>
      </li>
    </ul>
  </div><!--slider-->
почему он не появляется?
  • 0
    Можете ли вы получить доступ к данным контроллера из пользовательского интерфейса?
  • 0
    где вы создали экземпляр контроллера ?? нг-контроллер?
Показать ещё 3 комментария

1 ответ

0
Лучший ответ

Вы должны включить контроллер на страницу index.html. и используйте ng-app = "moduleName" и используйте ng-controller = "yourController". скажем, файл script.js вашего контроллера.

<!DOCTYPE html>
<html data-ng-app='starter'> /* used your module name as ng-app name */

  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script data-require="[email protected]" data-semver="1.4.8" src="https://code.angularjs.org/1.4.8/angular.js"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/css/materialize.min.css">

  <!-- Compiled and minified JavaScript -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/js/materialize.min.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script> /* load your controller file */
  </head>

  <body ng-controller="slider"> /* use your controller  */
    <h1>Hello Plunker!</h1>
    <div class="slider">
    <ul class="slides">{{pictures}}
      <li ng-repeat="picture in pictures">
        <img ng-src="{{picture.img}}"> <!-- image -->
        <div class="caption center-align">
          <h3 class="black-text">{{picture.info}}</h3>
          <h5 class="blue blue-text text-lighten-4">{{picture.desc}}</h5>
        </div>
      </li>
    </ul>
  </div>
  </body>

</html>

Демо-ссылка PLUNKER

  • 0
    Огромное спасибо. он работает только на одной странице. Я использую angular-ui-router Как я могу загрузить его? Пожалуйста, проверьте это код Plunker
  • 0
    В демоверсии вашего плункера есть проблема с внедрением зависимостей, удалите 'starter.controller' из зависимости модуля, например: var app=angular.module('starter', ['ui.router']) . тогда должно работать
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню