2022-03-11
.绑定
返回一个调用self的函数fn(self在fn中表示this)。您可以向 fn 提供参数 args (*)。这个函数也叫局部操作来区分函数。
格式:.bind(self,fn,args);
自我:对象; fn的上下文对象,可以在fn中用this调用
fn :;绑定方式
args: 传递给 fn 的参数
使用代码:
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上,那么就必须有绑定的东西和被绑定的东西。你需要的只是一个对象和一个函数。那么怎么绑起来呢?野兽的理解是将对象“绑定”到函数的this上执行。此时fn的this等于obj。至于第三个参数,是可选的,根据需要而定。如果函数需要传入参数,那么我们可以把.bind的第三个参数,这个就是传给fn函数的参数。
case中的第一种写法是在定义绑定的时候传入fn需要的参数,调用的时候直接使用,而case中的第二种写法是先绑定,再调用它。执行的时候,给fn传参数,效果是一样的……
.
使用此功能手动启动应用程序。基于端到端测试,不能使用手动启动,需要使用ngApp。
会检测应用程序是否在浏览器中启动,只允许第一次启动,后续每次启动都会导致浏览器服务器控制台报错。
这可以防止应用程序在多个实例尝试在 Dom 上运行时出现一些奇怪的结果。
格式:.(,[]);
:Dom元素,应用启动的根节点
:数组,应用依赖模块
使用代码:
<div id="ngApp">
<div ng-controller="testCtrl as ctrl">
{{ctrl.value}}
</div>
</div>
p>
(function () {
angular.module("Demo", [])
.controller("testCtrl", testCtrl);
function testCtrl() {
var vm = this;
vm.value = "Hello World";
}
angular.bootstrap(document.getElementById("ngApp"), ["Demo"]);
}());
一般情况下,我们写ng程序,ngApp指令会写在页面的Dom元素上来启动程序,但是可能有一些特殊情况需要我们在启动前做一些事情或者我们需要手动启动应用程序。这个时候就派上用场了。
.复制
创建对象或数字的深层副本。
格式:.copy(,[]);
:要复制的对象
:接收到的对象【注:参数类型为对象或数组】
使用代码:
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"]
把API一一翻译,然后写出能成功运行的代码,记录学习…
.绑定
返回一个调用self的函数fn(self在fn中表示this)。您可以向 fn 提供参数 args (*)。该函数也称为区分函数的局部操作。
格式:.bind(self,fn,args);
自我:对象; fn的上下文对象,可以在fn中用this调用
fn :;绑定方式
args: 传递给 fn 的参数
使用代码:
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上,那么就必须有绑定的东西和绑定的东西。你需要的只是一个对象和一个函数。那么怎么绑起来呢?野兽的理解是将对象“绑定”到函数的this上执行。此时fn的this等于obj。至于第三个参数,是可选的,根据需要而定。如果函数需要传入参数,那么我们可以把.bind的第三个参数,这个就是传给fn函数的参数。
case中的第一种写法是在定义绑定的时候传入fn需要的参数,调用的时候直接使用,而case中的第二种写法是先绑定,再调用它。执行的时候,给fn传参数,效果是一样的……
.
使用此功能手动启动应用程序。基于端到端测试,不能使用手动启动,需要使用ngApp。
会检测应用程序是否在浏览器中启动,只允许第一次启动,后续每次启动都会导致浏览器服务器控制台报错。
这可以防止应用程序在多个实例尝试在 Dom 上运行时出现一些奇怪的结果。
格式:.(,[]);
:Dom元素,应用启动的根节点
:数组,应用依赖模块
使用代码:
<div id="ngApp">
<div ng-controller="testCtrl as ctrl">
{{ctrl.value}}
</div>
</div>
p>
(function () {
angular.module("Demo", [])
.controller("testCtrl", testCtrl);
function testCtrl() {
var vm = this;
vm.value = "Hello World";
}
angular.bootstrap(document.getElementById("ngApp"), ["Demo"]);
}());
一般情况下,我们写ng程序,ngApp指令会写在页面的Dom元素上来启动程序,但是可能有一些特殊情况需要我们在启动前做一些事情或者我们需要手动启动应用程序。这个时候就派上用场了。
.复制
创建对象或数字的深层副本。
格式:.copy(,[]);
:要复制的对象
:接收到的对象【注:参数类型为对象或数组】
使用代码:
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"]
把API一一翻译,然后写出能成功运行的代码,记录学习…
分类:
技术要点:
相关文章:
暂无评论内容