国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

angular.js - angular如何獲取一段html代碼賦值到另一個(gè)地方,html里面的ng-click事件還要能生效?

瀏覽:144日期:2024-03-19 10:15:27

問題描述

我要使用一個(gè)ng-click點(diǎn)擊獲取一段html,這個(gè)html里面還有個(gè)ng-click事件,我用js找到這段html然后賦值到一個(gè)彈層里面,這個(gè)html的ng-click事件就無效了,怎么整?$scope.readmore_maincomment = function(event){

var html = $(event.target).parent('.subcomments').prev().html(); $('.subcomments_detail').find('.subcomment_con').html(html);};

代碼是簡寫的,就是這樣獲取的內(nèi)容,可能方法用錯(cuò)了,把a(bǔ)ngular與jQuery混用了,誰能告訴我怎么獲取這個(gè)html內(nèi)容,然后html里的ng-click還要能生效

問題解答

回答1:

angular在啟動(dòng)初期會(huì)遍歷dom,找出所有在html里綁定的directive進(jìn)行compile和link后,類似`v-click`這樣的指令才會(huì)在所在的dom元素上綁定響應(yīng)事件。如果直接將html字符串插入到dom中angular是沒有機(jī)會(huì)解析這串html里的指令。為了解決這一問題,angular內(nèi)置的$compile service.

Usage:

inject $compile service

$compile(htmlstring or domelement)(scope)

如果compile htmlstring 最后在將link后的返回插入到dom中

$compile() return a link function which bind the template to a scope

官網(wǎng)文檔:

https://docs.angularjs.org/api/ng/service/$compile

回答2:

angularjs的思想應(yīng)該盡量避免對(duì)dom的操作,你的需求應(yīng)該通過其他的方式實(shí)現(xiàn),通過數(shù)據(jù)的綁定達(dá)到你的目標(biāo),或者你可以使用ng-template來做。

回答3:

dom的操作都是在 指令里面的,你要將你當(dāng)前要操作的dom結(jié)構(gòu)寫成指令 ,然后link函數(shù)中的參數(shù)中有ele可以供你操作,你想要復(fù)制的那段html有ngclick 也不會(huì)有影響的 一樣能在復(fù)制之后能生效 。

標(biāo)簽: HTML
主站蜘蛛池模板: 化州市| 武强县| 绥江县| 莱芜市| 内丘县| 商洛市| 钦州市| 于田县| 古丈县| 定兴县| 黄陵县| 德江县| 志丹县| 三门县| 河间市| 安溪县| 青龙| 论坛| 八宿县| 潼南县| 额济纳旗| 贞丰县| 四川省| 仁化县| 临漳县| 天长市| 阿克苏市| 临汾市| 北宁市| 瓦房店市| 乌兰浩特市| 麟游县| 苏尼特左旗| 吐鲁番市| 巴东县| 丰顺县| 宁国市| 乌鲁木齐市| 莎车县| 鄂尔多斯市| 锦屏县|