Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.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 Ng if on指令具有重写函数的双向绑定_Javascript_Angularjs_Angularjs Directive_Binding - Fatal编程技术网

Javascript Ng if on指令具有重写函数的双向绑定

Javascript Ng if on指令具有重写函数的双向绑定,javascript,angularjs,angularjs-directive,binding,Javascript,Angularjs,Angularjs Directive,Binding,我已经设置了一个指令,它将从父控制器接收一个函数作为它的属性之一。此函数将由directives控制器替换,并且父控制器可以通过使用传递的函数来访问此函数。我遇到的问题是,在指令上放置ng if属性时,传入函数不再被替换。这是什么原因造成的?我将如何着手解决此问题?我附上了一个例子 父级-带ng if {{parentHelloWorld()}} Parent2-无ng if {{parentHelloWorld()}} 使用ng show而不是ng if。 ng if导致元素从DOM中删

我已经设置了一个指令,它将从父控制器接收一个函数作为它的属性之一。此函数将由directives控制器替换,并且父控制器可以通过使用传递的函数来访问此函数。我遇到的问题是,在指令上放置ng if属性时,传入函数不再被替换。这是什么原因造成的?我将如何着手解决此问题?我附上了一个例子


父级-带ng if
{{parentHelloWorld()}}

Parent2-无ng if {{parentHelloWorld()}}
使用
ng show
而不是
ng if

ng if
导致元素从DOM中删除。

使用
ng show
而不是
ng if

ng如果
导致元素从DOM中删除。

我认为您最好创建一个服务,而不是替换子控制器中的函数。我觉得那有点乱


就个人而言,我会使用一个服务来注册函数,然后您可以使用来自父控制器的相同服务来调用它。

我认为您最好创建一个服务,而不是替换子控制器中的函数。我觉得那有点乱

就个人而言,我会使用一个服务来注册函数,然后您可以使用来自父控制器的相同服务来调用它

    <div class="parent" ng-controller="pCtrl">
        <h3>Parent - with ng-if</h3>
        <div>{{parentHelloWorld()}}</div>
        <child ng-if="testBool" rep-fun="parentHelloWorld"></child>
    </div>
    <br/>
    <div class="parent" ng-controller="pCtrl2">
        <h3>Parent2 - without ng-if</h3>
        <div>{{parentHelloWorld()}}</div>
        <child rep-fun="parentHelloWorld"></child>
    </div>