小概要:我使用AngularJs與流星+ Blade而不使用Meteor_angularjs包流星。刀片構建服務器中頁面的主體,然後我在客戶端手動引導角。Intercept角模板加載使用流星+刀片
Template['template_name']
下可用刀片具有模板文件,使他們可以很容易地在客戶端上呈現。我想這樣做:
div(ng-include='content.blade')
// HTML => <div ng-include='content.blade'></div>
並以某種方式使其工作。
爲了保持兼容性,而不是創造新的指令,我想這可能是可能的攔截XHR請求角使得靜態模板和加載條件
if(URI ends with '.blade') then
name <- strip '.blade' in URI
return Template[name]()
應返回的HTML編輯該模板。
UPDATE:
巧合的是我遇到了$ templateCache,現在我認爲這是一段路要走。
我創造,我將使用流星角度整合「ngMeteor」模塊。
angular.module 'ngMeteor',[], ->
throw 'Meteor object undefined.' unless Meteor? # Is it fine to put here?
angular.module('ngMeteor.blade',['ngMeteor']).
run ($templateCache) ->
$templateCache.put "#{name}.blade", render() for own name, render of Template
在我的應用程序:
angular.element(document).ready ->
angular.bootstrap document, ['app']
app = angular.module 'app', ['ngMeteor.blade'], ->
app.controller 'mainCtrl', ($scope,$templateCache) ->
$scope.content = $templateCache.get "content.blade" # Works!!
刀片(body.blade):
#main(ng-controller='mainCtrl') {{ content }}
現在的作品,我可以注入$ templateCache後得到控制渲染模板,通過其名稱創建模板,但ng-include
仍然無法工作。
讓我們來看看,如果我終於可以有我的完美角度+流星+的CoffeeScript +刀片+手寫筆二合一工作 – olanod