【发布时间】:2017-06-24 13:57:05
【问题描述】:
我正在尝试使用 Angular 1.6 创建博客,除了我创建服务并注入配置文件时,一切正常。测试指令工作正常,仅在注入 myService 服务/工厂时中断。
app.coffee
app = angular.module 'dts',['ngRoute']
app.service 'myService', ->
this.asd = ""
app.directive 'ngHello', ->
return {
restrict:'E'
replace: true
template: "<h1>Hola mundo</h1>"
link: (scope,element,attrs)->
}
config.coffee
app = angular.module 'dts'
app.config ["$locationProvider","$routeProvider","myService", ($locationProvider,$routeProvider,myService)->
$routeProvider
.when "/",
controller: "mainCtrl"
templateUrl: "/app/views/index.html"
.when "/blog",
controller: "blogCtrl"
templateUrl: "/app/views/blog/index.html"
.when "/blog/post/:id",
controller: "blogCtrl"
templateUrl: "/app/views/blog/single.html"
.when "/contact",
controller: "contactCtrl"
templateUrl: "/app/views/contact.html"
.otherwise '/'
$locationProvider.html5Mode
enabled: true
requireBase: false
]
脚本包括
script(src="/js/libs/angular.min.js")
script(src="/app/modules/angular-route.min.js")
script(src="/app/app.js")
script(src="/app/services/slugs.js")
script(src="/app/config.js")
script(src="/app/controllers/main.js")
script(src="/app/controllers/blog.js")
我做错了什么?
我在 1.6 版本上搜索了有关问题或弃用服务或工厂的信息,但我什么也找不到。我将 angular 降级到 1.5.6 也不起作用。
我试图将服务/工厂移动到应用程序文件,但也中断了(在我在 services.js 上创建它之前)
【问题讨论】:
-
你为什么要在配置中注入服务?
-
我想制作路线。我在数据库中有一个路由列表来创建类似的 slug:blog/post/1 -> blog/post/lorem-ipsum-dolor 最好的方法是什么?
-
这个不是很清楚也不是很具体
-
我在 db 上有一个帖子 slugs 数组,当前查看帖子的 url 是 /blog/post/1 并且我想使用 /blog/post/name-of-post 而没有传递名称作为参数。在 laravel 或 codeigniter 中,我创建数据库路由并在路由上使用 foreach。我正在尝试对角度路由做同样的事情:[1] /blog/post/1 /blog/post/lorem-ipsum [2] /blog/post/2 /blog/post/lalalala 等
-
使用路由
resolve并在其中注入服务
标签: javascript angularjs