Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在我的情况下,如何将数据从指令发送到父控制器?_Javascript_Angularjs - Fatal编程技术网

Javascript 在我的情况下,如何将数据从指令发送到父控制器?

Javascript 在我的情况下,如何将数据从指令发送到父控制器?,javascript,angularjs,Javascript,Angularjs,嗨,我正试图根据指令内部的值来控制html 我有这样一个html: //myCtrl.isLoad was set to false <img ng-src="{{myCtrl.url}}" imageonload></img> <div ng-if="myCtrl.isLoad">Show me</div> //myCtrl.isLoad被设置为false 给我看 指令: angular.module('myApp')

嗨,我正试图根据指令内部的值来控制html

我有这样一个html:

//myCtrl.isLoad was set to false
<img ng-src="{{myCtrl.url}}" imageonload></img>
<div ng-if="myCtrl.isLoad">Show me</div>  
//myCtrl.isLoad被设置为false
给我看
指令:

 angular.module('myApp')
        .directive('imageonload', imageonloadFunction);

    function imageonloadFunction() {
        var directive = {
            'link': link,                
            'restrict': 'A'
        };

        return directive;
    }

    function link($scope, element, attrs) {
        some other codes..        
        //Do something if the condition is met
        //and change myCtrl.isLoad = true so 
        //<div ng-if="myCtrl.isLoad">Show me</div>  
        //will show
    }
angular.module('myApp')
.指令('imageonload',imageonloadFunction);
函数imageonloadFunction(){
var指令={
“链接”:链接,
“限制”:“A”
};
返回指令;
}
功能链接($scope、element、attrs){
其他一些代码。。
//如果条件满足,就做些什么
//并将myCtrl.isLoad=true更改为
//给我看看
//将显示
}

我不确定将指令数据绑定到父级的最佳方法。有人能帮我吗?非常感谢

只需将控制器属性绑定到指令即可

angular.module('myApp',[])
.指令('imageonload',imageonloadFunction);
函数imageonloadFunction(){
var指令={
“链接”:链接,
“范围”:{
“isLoad”:“=”
},
“限制”:“A”
};
返回指令;
}
功能链接($scope、element、attrs){
$scope.isLoad=true;
//如果条件满足,就做些什么
//并将myCtrl.isLoad=true更改为
//给我看看
//将显示
}
//myCtrl.isLoad被设置为false

演示
您只需将控制器属性绑定到指令即可

angular.module('myApp',[])
.指令('imageonload',imageonloadFunction);
函数imageonloadFunction(){
var指令={
“链接”:链接,
“范围”:{
“isLoad”:“=”
},
“限制”:“A”
};
返回指令;
}
功能链接($scope、element、attrs){
$scope.isLoad=true;
//如果条件满足,就做些什么
//并将myCtrl.isLoad=true更改为
//给我看看
//将显示
}
//myCtrl.isLoad被设置为false

图像加载时显示加载程序

在HTML中:

<img src="img/loading.gif" imageload="{{myCtrl.url}}">

图像加载时显示加载程序

在HTML中:

<img src="img/loading.gif" imageload="{{myCtrl.url}}">

您必须将
myCtrl.isLoad
变量传递给指令
Show me
您必须将
myCtrl.isLoad
变量传递给指令<代码>显示给我看