我在angular.js应用程序中进行了以下设置,基本上显示了lesson.answers中的3个元素,并且“向右移动”按钮滚动列表。 (我似乎无法让它在示例窗口中运行,但代码很简单,无论如何都要grok)
(function() {
var app = angular.module('lessonEditApp');
app.controller('LessonController', function() {
this.answers = ['$15$', '$12$', '$10$', '$8$'];
this.answerPos = 0;
});
})();
<html ng-app='lessonEditApp'>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body ng-controller='LessonController as lesson'>
<button ng-click='lesson.answerPos = lesson.answerPos + 1'>Move Right</button>
<div ng-repeat='answer in lesson.answers | limitTo:3:lesson.answerPos'>
{{answer}}
</div>
</body>
</html>
问题是那些答案元素($ 15 $,$ 12 $等)是LaTeX,需要在加载后由另一个库(MathJax)标记,所以我需要知道这些元素何时出现。
查看其他类似的问题,答案通常建议在状态发生变化时执行任何额外的处理步骤,即点击“向右移动”按钮,但必须在元素实际渲染后调用MathJax。 DOM为了生效。
Angular中是否有任何方法可以在实际创建元素时触发函数运行?理想情况下,它将附加到显示的每个特定元素,但页面范围的触发器将是可行的。