日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

AngularJs angular.bind、angular.bootstrap、angular.copy

發(fā)布時(shí)間:2024/4/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AngularJs angular.bind、angular.bootstrap、angular.copy 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

angular.bind

返回一個(gè)調(diào)用self的函數(shù)fn(self代表fn里的this).可以給fn提供參數(shù)args(*).這個(gè)功能也被稱為局部操作,以區(qū)別功能。

格式:angular.bind(self,fn,args);

self:object? 對(duì)象; fn的上下文對(duì)象,在fn中可以用this調(diào)用

fn:function; 綁定的方法

args:傳入fn的參數(shù)

使用代碼: 

var obj = { name: "Any" }; var fn = function (Adj) {console.log(this.name + "is a boy!!! And he is " + Adj + " !!!");}; var f = angular.bind(obj, fn, "handsome"); f();//Any is a boy!!! And he is handsome!!! var t = angular.bind(obj, fn); t("ugly");// Any is a boy!!! And he is ugly!!!

bind顧名思義綁定的意思,那么假如我們要把A綁到B上,那么必須又有綁定的東西和被綁定的東西。這里需要的就一個(gè)對(duì)象和一個(gè)函數(shù)。那么怎么綁?本獸的理解是把對(duì)象“綁”到函數(shù)的this上去執(zhí)行,這時(shí)候fn的this就等于obj了,至于第三個(gè)參數(shù),可有可無(wú),看需求,如果函數(shù)需要傳入?yún)?shù),那么我們可以把a(bǔ)ngular.bind的第三個(gè)參數(shù)放上去,這就是傳入fn函數(shù)的參數(shù)了。

案例中第一種寫法是定義綁定的時(shí)候就把fn所需的參數(shù)傳進(jìn)去了,調(diào)用的時(shí)候直接用,而案例中第二種寫法是先綁定,在調(diào)用執(zhí)行的時(shí)候再給fn傳參,效果是一樣的...

angular.bootstrap

使用這個(gè)功能來(lái)手動(dòng)啟動(dòng)angular應(yīng)用。基于ngScenario的端對(duì)端測(cè)試不能使用bootstrap手動(dòng)啟動(dòng),需要使用ngApp.

Angular會(huì)檢測(cè)應(yīng)用在瀏覽器是否已啟動(dòng)并且只允許第一次的啟動(dòng),隨后的每次啟動(dòng)都將會(huì)導(dǎo)致瀏覽器控制臺(tái)報(bào)錯(cuò).

這可以防止應(yīng)用出現(xiàn)多個(gè)Angular實(shí)例嘗試在Dom上運(yùn)行的一些奇異結(jié)果.

格式:angular.bootstrap(element,[modules]);

element:Dom元素,angular應(yīng)用啟動(dòng)的根節(jié)點(diǎn)

modules:數(shù)組,angular的應(yīng)用程序模塊

使用代碼:

<div id="ngApp"><div ng-controller="testCtrl as ctrl">{{ctrl.value}}</div></div> (function () {angular.module("Demo", []).controller("testCtrl", testCtrl);function testCtrl() {this.value = "Hello World";}angular.bootstrap(document.getElementById("ngApp"), ["Demo"]);}());

一般來(lái)說(shuō),我們寫ng程序,都會(huì)在頁(yè)面Dom元素上寫ngApp指令用來(lái)啟動(dòng)Angular程序,但是也可能出現(xiàn)一些特殊情況需要我們?cè)趩?dòng)之前干些什么或者需要我們手動(dòng)啟動(dòng)應(yīng)用程序,這時(shí)候angular.bootstrap就派的上用場(chǎng)了。

angular.copy

針對(duì)對(duì)象或數(shù)字創(chuàng)建一個(gè)深層的拷貝。

格式:angular.copy(source,?[destination]);

source:被拷貝的對(duì)象

destination:接收的對(duì)象 [注意:參數(shù)類型是對(duì)象或數(shù)組]

使用代碼:

var objA, objD = []; //objA:undefined objD:[] var objB = { text: "Hello World" }; var objC = {text:"Hai",value:"Test"}; objA = angular.copy(objB); // objA:{ text:"Hello World"} objB:{ text:"Hello World"} angular.copy(objC, objD);// objC:{text: "Hai", value: "Test"} objD:[text: "Hai", value: "Test"]

本獸對(duì)Angular API 逐個(gè)的學(xué)習(xí)并且進(jìn)行翻譯,然后寫能運(yùn)行成功的代碼,并把學(xué)習(xí)過(guò)程進(jìn)行整理記錄及分享...?

轉(zhuǎn)載于:https://www.cnblogs.com/ys-ys/p/4909786.html

總結(jié)

以上是生活随笔為你收集整理的AngularJs angular.bind、angular.bootstrap、angular.copy的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。