我添加了DOM元素(Angular外部),$編譯它,並將其與範圍內的指令的事件處理程序 - 新元素ng控制器中定義的控制器啓動,但數據綁定不工作 - 結果是
{{data.name}}
像它不是在所有編譯的,爲什麼? (我用$編譯首次所以,也許我失去了一些東西)
以下僅僅是指令代碼:
app.directive('pages', function ($compile) {
return {
restrict: 'E',
link: function (scope, element) {
element.on('pageLoaded', function(event){
var page = angular.element(event.detail.element);
var linkFn = $compile(page);
scope.data = {
name: 'DATA SET IN DIRECTIVE'
};
linkFn(scope);
});
}
}
});
頁我添加了(event.detail.element DOM元素)是
<div page="AddedPage" ng-controller="PageController">
{{data.name}}
</div>
這裏的jsfiddle:http://jsfiddle.net/yoorek/EYCwY/
感謝您的解決方案 - 犯了一個愚蠢的錯誤:-)建議閱讀知道心臟,但它與我正在處理的項目無關 - 非常特殊的情況出現在外部庫中的頁面,無法更改,尋找解決方案以某種方式消除這些解決方案。 – Yoorek
聽起來不錯!我不知道有項目限制。當我看到很多與AngularJS結合使用的jQuery「框架」時,我通常鏈接到鏈接的帖子,僅供參考。 –
嗯...雖然有一個問題 - replacewith使雙向數據綁定無法正常工作。當使用附加數據綁定工作 - 這裏是codepen:http://codepen.io/yoorek/pen/kcFqJ。當你用append改變replaceWith時,你會看到它的作用。任何想法爲什麼? – Yoorek