我正在学习 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