需要先compile 这段html,然后再添加到dom。
能给个例子吗?
@小银光: http://dojo.hstar.org/c8f80a8983ad
@幻天芒: 给个简单点的,这个网站怎么看?
@小银光: 登录之后就可以看代码了呢。
@幻天芒: 懒得登录...
@爱编程的大叔: 心塞...
angular.module('app', []) .controller('DefaultController', ['$scope', '$compile', function($scope, $compile){ $scope.message = 'Hello Angular!'; $scope.add = function(){ let html = `<button ng-click="add2()">我是一个动态添加的按钮</button>`; let el = document.querySelector('#t1'); el.innerHTML = html; // 核心代码,编译 $compile(angular.element(el))($scope); }; $scope.add2 = function(){ alert('您点击了动态添加的button'); }; }]);
@幻天芒:
1. Angular 4都出了,就不要继续耗时间在AngularJS上了,何况还未入门,说的是楼主。
2. Angular 2 和4可以顺利切换,差异较小,不放心4的话,也应该升级到Angular 2的。
3、这个方法就是在操作DOM,MVVM设计好的话,完全无需操作DOM的。
4、这个方法不得已而为之,反正我是不建议使用的。
@爱编程的大叔:
1、并不赞成这种观点,AngularJS只是平稳期,并不代表它不行了。而且,多余大多数项目来说,足够用且不会太难引入。如果是Angular(2.x版本+叫angular,1.x叫angularjs),需要一大套知识才能玩的起来。各自有亮点罢了。
2、4已经是正式版,加上2、4是兼容升级,所以基本上2已经算是死掉了。要么1.x,要么4.x
3、赞同
4、赞同
@幻天芒:
1. 我是赞同Angular js 1.x可以使用,并没有否定1.x。只是题主貌似也才刚刚入门的样子,不如直接换。如果已经熟悉的,用用当然没有问题。
2、我就是打算直接上4,结果出现的问题是,大部分的开源项目或者示例都是2.x或者1.x的,
然后4.X的Documentation藏得很好,得找半天。
4.x相对2.x来说,大结构没有变化,但是有些API确实变化了,这样会无端在某些API上面消耗很多时间,
我想我需要把项目定位回2.x了。
@爱编程的大叔: 我们是直接1.x和4.x并行,并进行兼容运行。逐步切换到4,至于4.x的文档,一个是看官方文档(看完官方文档基本就了解得比较深入了),一个是看4.x的开源项目。
不建议操作DOM,你看任何一本Angular的书,第一句话应该都是告诉你这一点吧?