[英]How to use react custom package into an angular directive
嗨,我有一个 angular v1.x 应用程序和一个 react 自定义包。
我希望能够将 react 自定义包使用到 angular 指令中,最终将显示一个 react 组件。
一些代码:
使用my-package
指令
import app from '../../main'
import React from "react";
import ReactDOM from "react-dom";
import Mypackage from 'my-package';
const reactDirective = app.directive('injectReact', function() {
return {
template: '<div id="reactapp" class="react-part"></div>',
scope: {},
link: function(scope, el, attrs){
scope.newItem = (value) => {alert (value)}
const reactapp = document.getElementById('reactapp')
scope.$watch('scopeval', function(newValue, oldValue) {
if (angular.isDefined(newValue)) {
ReactDOM.render(
<div>
<Mypackage />
</div>
, reactapp);
}
}, true);
}
}
})
该包已链接到项目中,因此“my-package”位于 angular 的node_modules
文件夹中。
应用程序使用bower & gruntfile.js
来收集应用程序的所有 js 文件
我不能在指令文件中使用import
或require
。
所以我想念一些babel
/ browserify
配置来完成这项工作。????
欢迎任何帮助。
最简单的方法是使用像react2angular这样的外部包。 这个包允许你创建 angular.js 包装器组件,它将呈现特定的反应组件,允许你将道具传递给它们。 链接过程非常简单:
angular
.module('myModule', [])
.component('myComponent', react2angular(MyComponent, [], ['$http', 'FOO']))
如果您想创建自己的包装库,请查看它的制作方式(渲染、传递道具并观察对它们的更改)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.