angularjs中的directive scope配置

2023-05-06,,

angularjs中的directive scope配置

https://docs.angularjs.org/guide/directive

定义directive其中重要的一环就是定义scope,scope有三种形式:

    默认的scope,DOM元素上原有的scope
scope: false  //默认配置
    创建一个新的scope, 会继承上层的scope,所有的属性都可以访问
scope: true
    独立的scope,和父scope是隔离的,不会继承任何的属性
scope: {/*属性名和绑定风格*/}

独立scope:{}绑定策略

使用独立scope的时候,如果需要从父scope获取数据,就需要一个新的概念:绑定策略

http://www.cnblogs.com/mafeifan/p/5817626.html

http://www.linuxidc.com/Linux/2015-05/116924.htm

1. 引用传递 双向绑定 =

绑定父scope的属性, 引用类型的绑定,双向绑定

{
name: '=forName',
age: '=age',
sex: '=' /*同名属性绑定的简写方式*/
}

2. 值传递 单向绑定 @

以字符串的方式绑定属性,这其实就是单向绑定

用法和上面的=差不多

3. 函数传递 &

传递一个来自父scope的函数,稍后调用

代码

directive("direct",function(){
return{
restrict: 'ECMA',
template: '<div>指令中:{{ name }}</div>',
scope:{
name:'@forName'
}
}
})
.controller("nameController",function($scope){
$scope.Name="张三";
});

HTML代码:

<div ng-controller="nameController">
<direct for-name="{{ Name }}"></direct>
<div>

4. require中controller的搜索

^^表示在所有父元素中搜索
^表示在自身和父元素中搜索
没有前缀, 只在自身搜索

require: ['^^parentsController', '^parentController', 'ngModel'],

angularjs中的directive scope配置的相关教程结束。

《angularjs中的directive scope配置.doc》

下载本文的Word格式文档,以方便收藏与打印。