2016-01-20 275 views
-1

我没有什么问题,我的代码:UI路由器不加载状态

https://github.com/burnpiro/angular-blog

现场版本可以在http://erdem.pl/#/

问题是,我的服务器路由部署之后没有按”工作。 ui-router甚至不会尝试将模板或控制器加载到ui-view中。应用程序启动并配置被触发(使用console.log进行尝试)。即使在主页状态下的解析选项也被触发(PostService)。但不知何故,它无法加载模板。如果我访问手动模板:

erdem.pl/components/home/home.html

它的存在。与控制器一样。如果有人有任何想法,请让我知道。它在部署后发生。在此之前,在我的本地机器上它似乎工作正常,但现在再次获取项目并将其部署在本地机器上后,它也有相同的错误。

没有JS错误或任何网络错误。

感谢您的帮助,

+0

检查开发工具网络中的所有请求。也许路径需要修改 – charlietfl

回答

0

我不能完全肯定,但我认为这个问题是你已经在你的config.js文件中设置的主机?这应该指向你的API所在的公共链接。应该是“http://erdem.pl”吗?

我也注意到Restangular似乎没有发送您的请求。我看到执行进入了RequestInterceptor,但我没有在我的开发人员工具的“网络”选项卡中看到它们。这意味着您的状态中您的resolve属性的承诺永远不会解决。您的状态配置为在初始化控制器并加载模板之前等待这些resolve请求解析。

编辑:我想我找到了issue

看起来像Restangular只与Lodash 3.10兼容,之后的任何事情都会导致兼容性问题。降级到3.10,希望它适合你!

+0

我已经检查过PostService中的Restangular,并且在调用Restangular.one('posts')之后,它会返回包含所有包装的对象,但在调用Restangular.one('posts')。get()后,我没有得到甚至承诺。我禁用了除家和服务以外的所有模块,以确保它们都不会中断任何事情。还从应用程序配置中删除了errorInterceptor。有什么想法为什么在调用get()之后Restangular可能不会返回promise? – piro

+0

好吧,我想我可能找到了它?你有使用lodash而不是underscore.js的原因吗?当我尝试从控制台运行'Restangular.one('posts')。post('search',{limit:11})'时发现了一个JS错误,它解释了_.contains()函数未定义。如果你使用underscore.js而不是lodash,我认为它可能会解决Restangular的问题。看起来它应该与两者兼容,但对Restangular或Lodash的更新已导致一些不兼容问题。如果你真的想使用Lodash,我会建议在他们的GitHub页面上发布一个问题。 –

+0

非常感谢:)这有帮助。我甚至不认为这是由lodash版本引起的。 – piro