我知道这可能是一种非角色的做事方式,但我不能想到一个好的方法,而不必重写很多内容的布局。这也是我的第一个有角度的应用程序,很高兴学习这个怪癖。
基本上,我正在编写一个完全不同的网站的移动版本,这不能证明重写网站是合理的,因此它是动态的。因此,我们决定编写一个API,以HTML格式返回每个页面中的内容。
我有一个用Angular编写的工作概念证明,它可以执行$ http请求来获取数据,并且完美无缺。但是,在每个页面中都可能有一个或多个链接,这些链接需要进行解析和修改,以便页面调用API而不是直接在那里浏览。
例如,about us链接可以从API返回以下模型(通过$ http.get()。success():
<a href="http://localhost/about-us/">About Us</a>
页面没有ID,我们正在使用没有页面ID的框架。
但我需要将其转换为,所以Angular通过ajax get了解页面的负载。
<a href="#" ng-click="loadPage('about-us')">About Us</a>
有没有办法做到这一点?
谢谢!
答案 0 :(得分:0)
如果你希望它以角度方式工作,那么你需要将html转换为角度模板。您可以使用$ compile服务执行此操作。
我有一个问题,你可以查看结果here。
它只是使用一些正则表达式来查找href,然后用ng-click替换它们。然后,它使用编译服务将其转换为角度元素,然后将其添加到输出中。
这不是最优雅的解决方案,但它可以解决问题。可能在这种情况下我会使用jQuery $('a')。click()因为没有真正的价值在角度来做。