Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在react中呈现动态模板,类似于angular中的$compile_Javascript_Angularjs_Reactjs - Fatal编程技术网

Javascript 在react中呈现动态模板,类似于angular中的$compile

Javascript 在react中呈现动态模板,类似于angular中的$compile,javascript,angularjs,reactjs,Javascript,Angularjs,Reactjs,我在angular中有下面的代码,我想知道它能“转换”成反应有多容易。这是我在这里做的事情 var app = angular.module('app',[]); app.directive('myPlugin', function($compile) { return { restrict: 'AE', link: function(scope, element) { // Data loaded dynamically from db var pl

我在angular中有下面的代码,我想知道它能“转换”成反应有多容易。这是我在这里做的事情

var app = angular.module('app',[]);

app.directive('myPlugin', function($compile) {
  return {
    restrict: 'AE',
    link: function(scope, element) {

     // Data loaded dynamically from db
     var plugin_templ = '<h1>Hello {{who}}</h1>';
     var plugin_script = 'scope.who = "world"';

     eval(plugin_script);

     var compiled = $compile(plugin_templ)(scope);
     element.append(compiled);
    }
  }
})
var-app=angular.module('app',[]);
app.directive('myPlugin',函数($compile){
返回{
限制:“AE”,
链接:功能(范围、元素){
//从数据库动态加载的数据
var plugin_temp='Hello{{{who}}';
var plugin_script='scope.who=“world';
eval(插件脚本);
var compiled=$compile(插件模板)(范围);
元素。追加(已编译);
}
}
})
基本上,我从数据库加载模板和代码,并动态编译它。在react中有类似的方法吗


p、 我很清楚它有多“危险”,我不应该使用eval等。但是,它是这样做的。

非常有趣的问题,实际上有一个很好的线索,人们正在努力解决这个问题。查看此链接。JSX Transformer正是您想要的。react不断呈现和注入脚本或标记的问题可能会影响性能我几乎发布了一个工作示例,但我无法传递模板文本字符串。无法让它工作,因为它没有正确解析。如果你不关心插件的脚本部分,其他的一切都可以