`
leeqq
  • 浏览: 137128 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

angular中自定义指令时的scope中属性的绑定策略

阅读更多

在angular中自定时,scope可以设置为true, false(默认值), 一个对象。

 

1. 默认值false时,指令的作用域就是指令元素所在的作用域

2. 设置为true时,指令的作用域是从元素所在的作用域继承来的新作用域

3. 设置为一个对象时,产生一个隔离的作用域。

 

在使用隔离作用域的时候,属性有 = @ & 三种绑定策略

scope: {
    name: '=',
    age:'@',
    gen: '&'
}

 用 = 的时候,将本地属性name和指令元素所在作用域的属性进行双向绑定

 用 @ 的时候,将本地属性agek和指令元素上的属性进行绑定

 用 & 的时候,指令元素上的gen需要是个函数,作为回调函数

 

给个例子

<div ng-controller="MyController">
    name: <input type="text" ng-model="name" /><br>
    age: <input type="text" ng-model="age"> <br>
    <div id="dir" my-directive name="name" age="{{age}}" gen="gen(h,s)"></div>
</div>
<script>
    app.controller('MyController', function($scope){
        $scope.gen = function (){
            console.log('------', arguments)
        }
    })
    app.directive('myDirective', function(){
        return {
            restrict: 'A',
            scope: {
                name: '=',
                age:'@',
                gen: '&'
            },
            template: '<div><hr/>name:<input type="text" ng-model="name" /><br>age:<
input type="text" ng-model="age" /><br><input type="button"  
value="click me" ng-click="clo()" /></div>',
            link: function ($scope){
                $scope.clo = function () {
                    //注意传参方式
                    $scope.gen({s:123, h:564});
                }
            }
        };
    })
</script>

 以上是部分代码, ng-app部分没有给出

分享到:
评论

相关推荐

    详解angular 中的自定义指令之详解API

    本文将深入探讨Angular中的自定义指令及其API详解。 首先,自定义指令有四种类型: 1. 元素(Element):如`&lt;my-dir&gt;&lt;/my-dir&gt;`,创建一个新的DOM元素。 2. 属性(Attribute):如`&lt;span my-dir="exp"&gt;&lt;/span&gt;`,...

    详解Angularjs 自定义指令中的数据绑定

    通过深入理解数据绑定的不同方式以及如何在自定义指令中使用这些方式,开发者可以创建出模块化和可复用的组件,提高开发效率和代码质量。同时,合理的设计隔离作用域和数据绑定的策略,可以保证组件的封装性和复用性...

    Angular的自定义指令以及实例

    在Angular开发中,自定义指令是扩展框架功能和创建可重用组件的关键工具。通过自定义指令,开发者能够实现特定的交互逻辑或视图呈现方式,以满足项目的独特需求。本文将深入探讨Angular中的自定义指令及其应用实例。...

    AngularJS 自定义指令 - ECharts 2 折线图

    在这个场景中,我们关注的是如何利用AngularJS的自定义指令来封装ECharts 2的折线图功能。ECharts是一个基于JavaScript的开源可视化库,它提供了丰富的图表类型,包括折线图、柱状图、饼图等,适用于各种数据展示...

    AngularJS 自定义指令 - ECharts 2 雷达图

    自定义指令的定义通常包括`restrict`、`scope`、`link`等属性。 2. **ECharts 2**: ECharts 2是ECharts的一个版本,提供了一套完整的图表类型,如折线图、柱状图、饼图和雷达图等。雷达图是一种多维数据可视化的...

    Angular1.x自定义指令实例详解

    在Angular1.x中,自定义指令是框架的核心特性之一,它允许开发者扩展HTML的功能,创建新的DOM元素行为或修改已有元素的行为。通过自定义指令,我们可以实现与业务逻辑紧密关联的视图层交互,增强应用的可重用性和可...

    angular指令

    在自定义指令中,我们可能会遇到需要一个指令与另一个指令或者与控制器进行通信的情况。这通常通过`require`属性来实现。`require`属性允许我们在指令内部访问其他指令或控制器的实例。例如,如果我们有一个父指令和...

    AngularJS 自定义指令 - ECharts 2 柱状图

    在本文中,我们将深入探讨如何在 AngularJS 中创建自定义指令来封装 ECharts 2 的柱状图。ECharts 是一个基于 JavaScript 的数据可视化库,它提供了丰富的图表类型,包括柱状图、折线图、饼图等。AngularJS 是一个...

    AngularJS 多指令Scope问题的解决

    本文将深入探讨AngularJS中多指令Scope问题的解决方法,以应对类似文章描述中的场景。 问题描述: 在上述问题中,开发者创建了一个名为`yunzhiAccuracyUncertainty`的自定义指令,用于显示某个参量类别的不确定度...

    angularjs指令 下拉框

    在创建自定义下拉框指令时,我们可能会使用`ng-model`来双向绑定选中项,用`ng-options`来生成下拉框的选项。 创建一个自定义下拉框指令通常包括以下几个步骤: 1. **定义指令**:在AngularJS应用中,使用`angular...

    关于Angularjs中自定义指令一些有价值的细节和技巧小结

    创建自定义指令通常涉及到`angular.module().directive()`方法。在提供的代码片段中,我们看到一个名为`uiDirective`的示例指令: ```javascript angular.module('yelloxingApp', []).directive('uiDirective', ...

    angular_directives:来自 codecademy 的 angular 自定义指令示例

    在“angular_directives:来自codecademy的angular自定义指令示例”这个项目中,我们将深入学习如何创建、使用和理解AngularJS中的自定义指令。 1. **自定义指令的基本结构** AngularJS中的自定义指令通过`@...

    Angularjs自定义指令实现三级联动选择地理位置

    在AngularJS中,可以使用`angular.module.directive()`方法定义一个自定义指令。这个指令将用于包裹地理位置的选择器。在指令中,我们可以定义模板、链接函数以及控制器等。 2. **构建数据结构**: 首先,我们...

    Angular1.x复杂指令实例详解

    - `unorderedList`和`listSource`:这些是自定义指令的属性,用于传递数据。在`link`函数中,我们通过`attrs`对象访问这些属性的值。 - `listProperty`:这个属性用于指定列表项显示的属性,例如`price`经过`...

    AngularJS 自定义指令详解及示例代码

    - `'A'`:属性指令,当遇到匹配的属性时激活。 - `'C'`:CSS类指令,当遇到匹配的CSS类时激活。 - `'M'`:注释指令,当遇到匹配的注释时激活。 2. **template**:用于替换整个元素的字符串模板,可以包含...

    AngularJS自定义指令详解(有分页插件代码)

    在AngularJS中,自定义指令是扩展框架功能的关键机制,允许开发者创建可重用的UI组件和行为。本文将深入探讨如何创建和使用自定义指令,以及如何利用它实现分页功能。 首先,创建自定义指令是通过调用`angular....

    angular示例

    `指令2.html`和`指令3.html`可能包含自定义指令的示例,如`ng-if`、`ng-show`、`ng-hide`等,展示了如何创建和使用自定义指令以实现特定的交互或视图逻辑。 4. **各种输入框3_2.html**:这可能是关于处理用户输入的...

    angularjs自定义正则表达校验指令directive

    创建自定义指令需要使用`angular.module().directive()`方法,其中`directive`函数接收两个参数:指令名称和一个配置对象。配置对象可以包含多个选项,如`restrict`(限制指令的应用方式,如元素、属性、类或注释)...

    AngularJS创建自定义指令的方法详解

    Angular内置指令通常匹配属性,但自定义指令可以自由选择匹配方式。使用元素名或属性名通常更直观,而注释则用于处理跨元素指令,尤其是在受到DOM限制的场景下,如在`table`元素中。 **文本和属性的绑定** 在编译...

Global site tag (gtag.js) - Google Analytics