2013-10-02 17 views
5

Gần đây tôi đã chia nhỏ ứng dụng đường ray mà tôi đã tạo và kết thúc giao diện người dùng dưới dạng ứng dụng riêng biệt với yeoman. Đối với một số lý do quan điểm của tôi không còn làm, ví dụ ứng dụng của tôi định nghĩa:ui-router không hiển thị giao diện

'use strict'; 

    var actionTrackApp = angular.module('actionTrackApp', [ 'ui.router', 'ngGrid']); 
    actionTrackApp.config(function($locationProvider) { 
     return $locationProvider.html5Mode(true); 
    }); 
    actionTrackApp.config(function($stateProvider){ 
     $stateProvider 
     .state("packageIndex", { 
      url: "/packages", 
      views: { 
      "main": { 
       controller: "ApplicationCtrl", 
       template: "<h1>Test</h1>" 
      }, 
      "": { 
       template: "<h1>Test2</h1>" 
      } 
      }, 
      resolve: { 
      test: function(){ 
       console.log("test") 
      } 
      } 
     }) 
    }); 

và trong file index.html của tôi, tôi có:

bodytag ng-app="actionTrackApp" ng-controller="ApplicationCtrl"> 
    your site or application content here<a href='/packages'>Package Index</a> 

    <div ng-view="main" class="container"></div> 
    <div ng-view=""></div> 
/bodytag 

Khi tôi nhấp vào liên kết thuộc tính quyết tâm không giải quyết và Tôi thấy "test" trong giao diện điều khiển. Tôi đã thử gắn $ roadChangeStart/đồng hồ thành công trên bộ điều khiển applicaiton nhưng không bắt đầu/thành công cháy ở đây.

+0

Bạn chỉ có thể có một 'ng-view' xác định. – zsong

+0

Không, bạn có thể sử dụng nhiều chế độ xem. Nó không hoạt động với 1 hoặc là – jvans

+0

Tôi không nghĩ vậy. – zsong

Trả lời

4

tôi đã xem xét mã của bạn và tìm thấy một vài vấn đề

  1. để tham khảo quan điểm ui-router, bạn phải sử dụng các chỉ thị ui-view, không ng-view
  2. các "" xem được định nghĩa không chính xác - bạn phải sử dụng một tên chìa khóa hợp lệ, tôi đã thay đổi nó để a và cập nhật các tài liệu tham khảo trong html

Sau khi tôi thực hiện những thay đổi, tất cả các công trình như mong đợi ở đây: http://plnkr.co/edit/lxAUGMqajwI461VKz8xo

ps: Tôi đã đi trước và sử dụng ui-sref vào liên kết của bạn thay vì cứng mã hóa/gói url ...

+0

Thật tuyệt vời. Cảm ơn bạn đã giúp đỡ. ui-sref chắc chắn là cách tiếp cận đúng ở đây. Tôi nghĩ rằng "" là hợp lệ mặc dù. Tôi đã chơi với plunker của bạn và nó vẫn hoạt động với ui-view = "" và views: {"": {template: "

Test2

"}}. – jvans

+0

Aha ... thú vị, tôi đoán tôi đã sai về chìa khóa chuỗi rỗng ... tốt để biết. – bendalton

Các vấn đề liên quan