控制器controller与指令中的link、controller中同名变量作用域的关系

本文探讨AngularJS中的作用域继承原理,当在指令的link或controller中与父控制器存在同名变量时,如何查找和共享这些变量。通过实例分析,展示了在指令中使用独立作用域`scope`如何影响变量的改变。
摘要由CSDN通过智能技术生成

angularjs中的作用域与原生js中的函数嵌套原理一致,都是存在作用域的继承。若在子控制器(同样包括在指令中的link或是controllerding中定义变量,此时指令中必须未使用scope独立作用域)未定义相关变量,那么它会向父控制器一层层查找,直到找到位为止。

若在自定义指令中的link、controller与该指令的父控制器定义了同名变量,那它的作用域是如何的呢,以及指令中的独立作用域scope会对改变量产生怎样的影响,以例说明:

HTML:

<div ng-controller="test">
    <div>模块下控制器:{
  {param}}</div>
    <dir-scope></dir-scope>
</div>

js:

    var myApp=angular.module("myApp",[]);
    myApp.controller("test",["$scope",function($scope){
        $scope.param="moudelController-param";
    }]);
    myApp.directive("dirScope",function(){
        return{
            restrict:"AE",
            scope:{
                param:"@"
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值