7

我正在为客户端构建一个应用程序,我在后端使用 Laravel5 开发 Web 服务,我将使用Smart Admin Theme使用它,特别是 Ajax 版本。

我已经使用过这个主题的 HTML 版本,并且我仍然使用 Laravel 作为后端。我可以简单地使用 Laravel 提供的 Blade 模板引擎并将数据注入到视图中。

但是现在由于我将使用 Ajax 版本,我应该如何将数据模板化到视图中。我可以向 Web 服务请求数据,它会以 JSON 格式返回。这部分对我来说很清楚,因为我以前做过。

大多数小部件具有内置集成,例如 jquery 数据表和主题中使用的完整日历库。我可以看到数据将被注入这里,但是论坛和其他东西呢?我应该使用 Jquery 来操作 DOM,还是有更好的方法。

Angular 提供了一种方法,我可以通过两种方式数据绑定传入的数据,我可以使用 ng-repeat 将其注入表和无序列表中,但我将如何在此处完成此操作。有没有我可以使用的模板系统?

4

3 回答 3

2

谢谢你的回答,但不幸的是我无法理解这些。尽管如此,我感谢您的意见。

最后我求助于使用rivet.js库。该库为构建现代 Web 应用程序提供了轻量级和强大的数据绑定 + 模板解决方案。

他们有很好的文档来帮助开发。

现在我可以简单地将数据模板化到视图{ 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>

然后我可以简单地将 section#auction 标记与拍卖 JSON 对象绑定,如下所示:

rivets.bind($('#auction'), {auction: auction})

这使得从服务器获取我的数据并将数据模板化到视图中变得非常容易。现在,移动应用程序最终可以使用相同的后端 Web 服务。

我希望这可以帮助别人。:)

于 2015-05-05T13:29:03.503 回答
0

据我了解,到目前为止,您一直在使用 Laravel 为您呈现 HTML。现在,您希望将 HTML/JS 站点托管在其他机器上,并通过 API 从 Laravel 获取所有动态值。

如果是这种情况,那么您确实需要自己实现所有动态功能,这是一项相当大的工作。

您还可以使用相同的 laravel 应用程序,让它在站点的一部分中为您的静态 HTML/JS 提供服务,您将在其中通过 API 从后端调用值,并保持站点的其他部分“正常”,让 Laravel 呈现 HTML不需要 API 来获取其动态值。

于 2015-04-24T09:11:20.573 回答
0

这个答案从评论开始,然后变成了答案..

如果您使用 Angular,最好的方法是将模板保留在 Angular 应用程序上并从 api 获取数据。在您的情况下,Laravel 将成为您的 API。

您将使用 JWT(JSON Web 令牌)等身份验证方法通过 API 从服务器进行身份验证和获取数据。这在 Laravel 上很容易做到。

所有数据都将以 json 格式接收,并且可以使用 angular 轻松呈现到客户端浏览器上的模板上。您不需要 jQuery,您可以使用 Angular 指令进行引导(angular-strap)。

我没有检查这个主题。但是,如果它不是使用角度指令编写的,那么您将很难使用客户端模板呈现数据。

于 2015-04-27T11:15:44.663 回答