如何进行AngularJS研究?
我有一个HTML,我用jquery方法.html()
插入,在这个html里面我有一个指令。我该怎么做才能做到这一点?
示例:
//This directive should show a alert
<div alert-directive></div>
我在$(".container").html('<div alert-directive></div>')
的容器中插入上述html。该指令不执行。
答案 0 :(得分:0)
我在我的爱好项目中做了类似的事情,这里有一个应该帮助你的复制粘贴:
var html = '<div bindonce="result" class="searchResult newResult" ' +
'ng-click = "clicky(result)" ' +
'bo-id = "result.id"' +
'ng-mouseenter = "hover = true"' +
'ng-mouseleave = "hover = false"' +
'ng-include src="\'views/partial/search_result.html\'">' +
'</div>';
// extending current scope
var newScope = scope.$new();
newScope.result = item;
var compiledHtml = $compile(html)(newScope);
$("#searchResults").append(compiledHtml);
答案 1 :(得分:0)
你必须承认你插入的AngularJs。为了做到这一点,你必须向你的控制器注入$ compile服务......
yourOwnApp.controller('exampleCtrl', ['$scope','$compile', function($scope, $compile) {
your controller code here ...
}]);
...然后在你的控制器内编译你的html标记并插入到DOM中:
var htmlTemplate = '<div alert-directive></div>';
var newElement = $compile(htmlTemplate)($scope);
$(".container").append(newElement);
希望它有所帮助。
干杯,卢卡