是否可以使用AngularJs而不是頁面呈現模板,但可能在內存中?我需要準備HTML作爲電子郵件發送。 我想我可以渲染隱藏的div的東西,然後以某種方式分配給它的內容變量,但對我來說,它看起來醜陋:(AngularJs中的模板準備
2
A
回答
2
你可以看看$編譯功能:http://docs.angularjs.org/api/ng $編譯
例子:
function MyCtrl($scope, $compile){
// You would probably fetch this email template by some service
var template = '</div>Hi {{name}}!</div></div>Here\'s your newsletter ...</div>'; // Email template
$scope.name = 'Alber';
// this produces string '</div>Hi Alber!</div></div>Here\'s your newsletter ...</div>'
var compiledTemplate = $compile(template)($scope);
};
0
當然,你可以使用$編譯服務呈現模板渲染的模板將是不附加到DOM樹中的DOM節點,你不必附加。它可以做到這樣的事情:
<!doctype html>
<html ng-app="myApp">
<head>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.angularjs.org/1.1.2/angular.min.js"></script>
<script type="text/javascript">
var myApp = angular.module('myApp', []);
myApp.controller('MainCtrl', ['$scope', '$compile', function($scope, $compile){
var compiled;
$scope.compileTemplate = function() {
var template = '<ul><li ng-repeat="i in [1, 2, 3]">{{i}}</li></ul>';
var linker = $compile(template);
compiled = linker($scope);
}
$scope.sendEmail = function() {
alert("Send: " + compiled[0].outerHTML);
}
}]);
</script>
</head>
<body ng-controller="MainCtrl">
<button ng-click="compileTemplate()">Compile template</button>
<button ng-click="sendEmail()">Send email</button>
</body>
</html>
我之所以將它們分成兩個不同的功能是因爲,當您編譯並將其鏈接到範圍時,直到下一個摘要之後纔會填充數據。也就是說,如果您在compileTemplate()
函數的末尾訪問compiled[0].outerHTML
,它將不會被填充(除非您使用超時...)。
相關問題
- 1. 如何準備模板 - ItemTemplate?
- 2. 準備就緒的.NET項目模板
- 3. admin模板asp.net表單準備就緒
- 4. 準備使用CSS模板或框架
- 5. jQuery插件模板chainability與每準備
- 6. Angularjs dom加載準備好
- 7. AngularJs中的條件模板
- 8. templateUrl vs AngularJS中的模板
- 9. 在Angularjs中準備金字塔圖表
- 10. 準備Google博客模板中循環的所有帖子?
- 11. AngularJs模板URL
- 12. AngularJS與模板
- 13. angularJs模板
- 14. 準備在angularjs中開發web應用程序的準備工作是什麼?
- 15. 模板中的angularjs動態模型
- 16. AngularJS - IE8 html模板
- 17. Angularjs條件模板
- 18. angularJS:模板條件
- 19. angularjs:從模板URL
- 20. angularjs和模板表
- 21. AngularJS模板VS templateURL
- 22. 動態angularjs模板
- 23. AngularJS模板+引導模態
- 24. AngularJS:訪問模型模板
- 25. angularjs模式更改模板?
- 26. 內模板調用模板angularjs
- 27. AngularJS文件準備不正常
- 28. 等待DOM是準備上AngularJS指令
- 29. 模擬準備和直接準備調用之間的區別?
- 30. 帶ImpressJS的AngularJS模板
非常感謝!這正是我需要的。也許你也可以提示我如何從控制器中的文件加載模板? – Alber 2013-02-22 12:21:45
@Alber簡而言之,您將使用該服務(請參閱http://docs.angularjs.org/api/ng.$http)。您應該發佈新的SO問題以獲得指導。 – Stewie 2013-02-22 12:41:44
@Alber ...如果你不介意接受答案,如果它回答你的問題。謝謝。 – Stewie 2013-02-22 16:10:36