我正在构建一个客户端的应用程序,我在beck端使用Laravel5开发Web服务,我将使用Smart Admin Theme,特别是Ajax版本来使用它。
我已经使用过这个主题的HTML版本,我仍然使用Laravel作为后端。我可以简单地使用Laravel提供的Blade模板引擎并将数据注入视图中。
但是现在我将使用Ajax版本,我应该如何将数据模板化到视图中。我可以请求Web服务获取数据,它将以JSON格式返回。这部分对我来说很清楚,因为我之前已经这样做了。
大多数小部件都有内置的集成,例如jquery数据表和主题中使用的完整日历库。我可以看到这里会注入数据,但论坛和其他内容如何。我是应该通过使用Jquery来操纵DOM还是有更好的方法。
Angular提供了一种方法,我可以通过双向数据绑定传入数据,我可以使用ng-repeat将其注入表和无序列表,但我将如何在此处完成此操作。我可以使用模板系统吗?
答案 0 :(得分:2)
感谢您的回答,但不幸的是,我无法理解这些。尽管如此,我感谢您的意见。
最后我使用rivet.js库。该库为构建现代Web应用程序提供了轻量级且功能强大的数据绑定+模板解决方案。
他们有一个很好的documentation来帮助发展。
现在,我可以将数据模板化为像{ data.someAttribute }
这样的视图,如下面的代码片段所示:
<section id="auction">
<h3>{ auction.product.name }</h3>
<p>Current bid: { auction.currentBid | money }</p>
<aside rv-if="auction.timeLeft | lt 120">
Hurry up! There is { auction.timeLeft | time } left.
</aside>
</section>
然后我可以简单地将#auction拍卖标签与拍卖JSON对象绑定在一起,如下所示:
rivets.bind($('#auction'), {auction: auction})
这使得从服务器获取数据并将数据模板化到视图中变得非常容易。现在,移动应用程序最终可以使用相同的后端Web服务。
我希望这有助于某人。 :)
答案 1 :(得分:0)
据我所知,到目前为止,您一直在使用Laravel为您呈现HTML。现在,您希望将HTML / JS站点托管在其他计算机上,并通过API从Laravel获取所有动态值。
如果是这种情况,那么你确实需要自己实现所有的动态功能,这是相当大的工作。
您也可以使用相同的laravel应用程序,并让它在站点的一部分中为您的静态HTML / JS提供服务,您将通过API从后端调用值并保留站点的其他部分&#34; normal&#34;在哪里让Laravel呈现不需要API来获取其动态值的HTML。
答案 2 :(得分:0)
这个答案从评论开始,然后转到答案..
如果你正在使用角度,最好的方法是将模板保留在角度应用程序上并从api获取数据。在您的情况下,Laravel将成为您的API。
您将使用身份验证方法(如JWT(JSON Web令牌))通过API对服务器进行身份验证和获取数据。这在Laravel上很容易做到。
所有数据都将作为json接收,并且可以使用angular在客户端浏览器上轻松呈现到模板。你不需要jQuery,你可以使用Angular指令进行bootstrap(angular-strap)。
我没有检查这个主题。但如果它不是使用angular指令编写的,那么使用客户端模板渲染数据将很难。