0

我正在学习 Angular,但我坚持使用ui-router.
这是代码。我正在使用 PUG 和 Livescript,我怀疑我是否因为这两个而遇到问题。

我的代码类似于 stackoverflow 中的一些答案,但我无法使其工作。create.pug没有显示。

main.pug 是 index.pug 的孩子 create.pug
是 main.pug 的孩子

create.pug -> main.pug -> index.pug

版本:

angular -> 1.6.3
angular-ui-router -> 0.4.2

指数.pug

html(ng-app="app.main")
  head ...
  body
    div(ui-view)

主程序

md-subheader
  h1 To Do

md-divider
section(ui-view)

创建.pug

md-input-container
  label Title
  input(type="test" ng-model="app.new_task" ng-keypress="createTask($event)")

主文件

MainController = ($scope) !->

angular
  .module 'app.main'
  .controller 'MainController', MainController

创建.ls

TaskCreateController = ($scope) !->
  app = @

  app.taskList = []

  $scope.createTask = ($event) !->
    if $event.keyCode !== 13 || !app.new_task
      return

  app.taskList.push app.new_task
  app.new_task = ''

  angular
    .module 'app.main'
    .controller 'TaskCreateController', TaskCreateController

路由器.ls

routeHelper = ($locationProvider, $stateProvider, $urlRouterProvider) !->
this.$get = ($state) ->
  'configureStates': (states) !->
      Object
        .entries states
        .forEach ([name, config]) !->
          $stateProvider.state name, config

$locationProvider.html5Mode false
$urlRouterProvider.otherwise '/'

angular
  .module 'app.main'
  .provider 'routeHelper', routeHelper

路线.ls

setupRoutes = (routeHelper) !->
  routeHelper.configureStates do
    'home':
      'url': '/'
      'templateUrl': 'modules/main/main.html'
      'controller': 'MainController'
      'controllerAs': 'app'

    'home.create':
      'url': '/create'
      'templateUrl': 'modules/task/create/create.html'
      'controller': 'TaskCreateController'
      'controllerAs': 'app'

angular
  .module 'app.main'
  .run setupRoutes
4

1 回答 1

0

嗯,我会尝试在这里添加一个缩进级别:

head(ng-app="app.main") ...
body
  div(ui-view)

head(ng-app="app.main") ...
  body
    div(ui-view)

更确切地说

html(ng-app="app.main")
  head
  body
于 2017-03-20T21:44:11.990 回答