如何在 AngularJS 指令中使用 compile 函数从服务中重复 ng-repeat 元素 [英] How to use compile function in AngularJS directive to ng-repeat elements from a service
本文介绍了如何在 AngularJS 指令中使用 compile 函数从服务中重复 ng-repeat 元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人可以告诉我我需要做什么才能在指令中呈现存储在服务数组中的新元素.在下面的示例中,来自服务的警报显示每个新元素都添加到元素数组中,但如何让指令在页面上显示这些新元素?
我试图在指令中阅读有关 compile
函数的所有内容,但无法理解如何使我的示例工作.
这是一个 jsfiddle. 我需要的只是渲染新的将消息添加到服务中的消息数组后,指令中的消息.
Chat
服务作为 chat
变量注入指令中,并且在指令模板中我想重复来自服务的每条消息:
''+'<li ng-repeat="chat.messages 中的消息">'+'<strong>{{message.name}}</strong>{{message.text}}' +'</li>'+'</ul>'
示例代码位于 jsfiddle 及以下:
HTML:
<my-simple-chat title="AngularJS Chat"></my-simple-chat>
JavaScript:
angular.module('myApp', []).factory('Chat', function () {var 消息 = [];函数发送消息(名称,文本){消息.推送({姓名:姓名,文字:文字});alert("从工厂发送消息:" + name + ", " + text + " : " + messages.length);};返回 {消息:消息,发送消息:发送消息};}).directive('mySimpleChat', ['Chat', function (chat) {var tmpl = '<div><h2>{{title}}</h2>'+'<input type="text" ng-model="name" placeholder="输入你的名字"/>'+'<hr/>'+'