在AngularJS中渲染后运行代码

时间:2018-07-05 12:57:35

标签: angularjs angularjs-directive syntax syntax-highlighting highlight.js

我正在使用AngularJS的<div ng-bind-html="vm.text"></div>函数从外部API接收HTML代码。

我使用此HTML,并将其直接打印到视图中:hljs.initHighlighting()

到目前为止,这个方法工作正常。但是,我无法进行的工作是在渲染后执行脚本功能。一旦收到的HTML注入到视图中,我就需要从highlightJS执行'use strict'; angular.module('libraryView') .directive('highlight', function ($timeout) { return { link: function () { $timeout(function() { hljs.initHighlighting(); }, 1000); } }; } );

无论我尝试什么,它都表现不佳或运行得太早。到目前为止,我的“最佳”解决方案:

render() {
console.log("Progrss bar");
const barWidth = Dimensions.get("screen").width - 30;
const batteryWidth = Dimensions.get("screen").width;
const progressCustomStyles = {
  backgroundColor: "red",
  borderRadius: 0,
  borderColor: "orange"
};
return (
  <View style={styles.container}>
    <View style={styles.angle}>
      <View style={styles.progress}>
        <ProgressBarAnimated
          width={barWidth}
          value={this.state.progress}
          height={150}
          borderRadius={0}
          backgroundColor={
            this.state.progress > 20 && this.state.progress < 90
              ? "yellow"
              : this.state.progress >= 90
                ? "green"
                : "red"
          }
        />
      </View>
      <Image
        style={{
          width: batteryWidth,
          height: 150,
          position: "relative",
          zIndex: 1
        }}
        source={require("./assets/battery.png")}
      />
    </View>
  </View>
);

0 个答案:

没有答案