在Angular 1中集成Angular 2.0.X -升级模块
Integrating Angular 2.0 inside Angular 1.x - upgrade module
我正在尝试将Angular 2.0组件集成到Angular 1中。X应用程序(用于玩/学习建议…)
现在,我看到它可以通过查看Angular2升级模块来完成:
import {Component, View, Inject, EventEmitter} from 'angular2/angular2';
import {createUpgradeModule, UpgradeModule} from 'upgrade/upgrade';
export function main() {
describe('upgrade: ng1 to ng2', () => {
it('should have angular 1 loaded', () => expect(angular.version.major).toBe(1));
it('should instantiate ng2 in ng1 template and project content',
inject([AsyncTestCompleter], (async) => {
var Ng2 = Component({selector: 'ng2'})
.View({template: `{{ 'NG2' }}(<ng-content></ng-content>)`})
.Class({constructor: function() {}});
var element = html("<div>{{ 'ng1[' }}<ng2>~{{ 'ng-content' }}~</ng2>{{ ']' }}</div>");
var upgradeModule: UpgradeModule = createUpgradeModule();
upgradeModule.importNg2Component(Ng2);
upgradeModule.bootstrap(element).ready(() => {
expect(document.body.textContent).toEqual("ng1[NG2(~ng-content~)]");
async.done();
});
}));
... continue tests here ...
我创建了一个Angular 1。使用Typescript + SystemJS + JSPM安装Angular 2.0,并使用jspm install angular2
现在,我可以使用import {Component} from 'angular2/angular2'
(例如)导入Angular2,但我在Angular2的代码中找不到升级模块(我想做import {createUpgradeModule, UpgradeModule} from 'upgrade/upgrade'
,类似于我在测试中发现的)。
是单独包装的吗?我应该手动安装吗?
编辑
解决方案(目前)应该是:
使用自定义构建,参见此处
将实际模块导入到您的项目中并导入它(这是我首选的解决方案)
编辑22.11.15:
从alpha 46开始,升级模块是公开的。不需要任何更多的黑客来使用它!
我已经围绕这个做了一些POC工作,这里是一个工作方法:
关键是upgradeAdaptor
import {bootstrap,UpgradeAdapter} from 'angular2/angular2';
import {SomeA2Component} from './some/path';
declare var angular:any;
var adapter: UpgradeAdapter = new UpgradeAdapter();
angular.module('app').directive('SomeA2Component', adapter.downgradeNg2Component(MyA2Component));
adapter.bootstrap(document.body, ['app']);
我也有一个工作的例子:http://www.syntaxsuccess.com/viewarticle/upgrading-angular-1.x-to-2.0
相关文章:
- Angular JS IE9 Hashbang url rewriting
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- 无法在数据endVal中设置值=“”;{{ucount}}”;使用Angular JS的CountUp
- 使用angular重定向到html页面
- angular.js没有'无法在PhoneGap中处理视图标记
- Javascript(Angular)从一个对象数组到第二个数组查找值
- angular 1.5应用程序中的导航栏
- angular的下拉菜单
- Angular只从数组中获取所需的数据
- 如何将不可变的js导入angular 2(alpha)
- Angular js-返回一个包含类似
- 如何使用 Angular JS 将数据保存在数据库中
- 将JSON对象传递给angular指令
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- Angular:更新一次性绑定的数据
- 同步调用,直到用户通过angular验证为访问者
- 将Angular js与taglib结合使用
- 在Angular Fullstack中设置TinyMCE
- 可以't使用Angular解析/检索JSON