当前位置: 首页 > 面试题库 >

Angular-UI.Router未加载组件

景胜涝
2023-03-14
问题内容

我无法通过本地主机或其他方式让ui.router在index.html上加载组件:

index.html

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
    <script src="//unpkg.com/angular-ui-router@0.3.1/release/angular-ui-router.js"></script> <!-- used to route views -->
    <script src="js/components.js"></script>

    <body ng-app="myApp">
    <div> <!-- main content -->
         <ui-view></ui-view>   <!-- this directs ui-router to put the home view here-->
    </div>

components.js

    var app = angular.module('myApp', ['ui.router']); //makes a call to the Angular API to create our app, configured with the ui.router plug-in
    //configure our view router
    app.config(function($stateProvider) { 
      //create our different views as objects
      var mainState ={
        name: 'main', //name of the object
        url: '', //url to point to, or that causes this view to be triggered
        component: 'home', //component that works with the data, loads the template
        resolve: { //data to bind to our component
          data: function(Resource) {
            console.log(Resource.test()) //returns "Hello World"
            return Resource.test() 
          }
        }
      }
      //call the states
      $stateProvider.state(mainState); 
    })
    app.service('Resource', function ($http) {
      var service = {
       test: function() {
          return "Hello world"
        }
      }
      return service;
    })
    app.component('home', {
      bindings: { data: '<'}, //make the data we loaded into the view from the factory available to this component
      template: "<p>{{data}}</p>", //this is the html that we will plug our data into
      controller: function () {
        console.log(this) //does not call
      }
    })

“ Hello world”加载,当我使$ http通过服务时的数据也加载。但是它不会传递给组件。有什么想法吗?


问题答案:

component可从中获取属性ui-router@1.0.0(请参阅此处和CHANGELOG.MD-已在中添加1.0.0-aplpha),因此不可用0.3.1

这是工作的jsFiddle(带有1.0.3-beta)



 类似资料:
  • 问题内容: 我有一个抽象的基本模板,可根据用户类型加载导航。这部分适用于初始加载。问题是用户登录或注销后无法重新加载父templateProvider。我在这里尝试了重新加载父模板的解决方案,但是导航模板不受影响。有没有一种方法可以重新加载templateProvider,或者这样做的更好的方法?理想情况下,我不必将导航提供商添加到每个子路线。 路线: 尝试从github问题发出的控制器功能: 问

  • 我试图从一个服务加载一些数据,该服务在控制台中测试时工作,它正确地显示了所需的数组,但当从我的组件调用服务的相同方法时(我需要呈现数据),它只显示[object]。。。。在控制台中,组件本身上没有任何内容。 仅供参考:正在使用的提供商(/api/departement)正常工作,因为数据可以显示在控制台中(来自服务本身的数据)。 这是我的代码: Department.ts: Departement

  • 问题内容: 我正在使用Ionic Framework开发应用程序,并且有多个视图。路由名称是 app.view1 和 app.view2 。我使用控制器切换到下一个视图,当我单击返回时,app.view1的控制器不再执行,这在我的应用程序中非常重要。 请告诉我如何在每次路由到控制器时执行它。 问题答案: Ionic缓存视图以提高性能。它使用的功能。 Ionic最多可以缓存10个视图,不仅可以配置它

  • 我不得不迁移到最新的angular版本。在那之后,karma测试停止工作,只是继续用错误日志粉碎: ...\parkandrest-ui\node_module\@angular-devkit\build-angular\src\angular-cli-files\plugins\packages\angular_devkit\build_angular\src\angular-cli-files

  • 问题内容: 我在AngularJS项目的Date From和Date To字段上使用JQuery UI的Datepicker。我添加了将值绑定到模型值的指令,还添加了对OnSelect的检查,该检查为每个字段设置minDate和maxDate选项(因此Date To永远不会早于Date From)。问题在于,在加载页面时,实际上没有选择任何日期(即使模型具有值),因此仍然可以选择早于“日期自”的“