Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.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_Html_Css_Angularjs - Fatal编程技术网

Javascript 单击时隐藏父元素

Javascript 单击时隐藏父元素,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,学习Angular JS,尝试一个简单的函数,单击一个元素可以隐藏其父元素 我的代码: <div class="form-section" ng-init="visible = true" ng-show="visible"> <a class="next" ng-click="$parent.visible = false">NEXT</a> </div> 您不需要$parent 您要做的是在作用域上创建一个名为visible

学习Angular JS,尝试一个简单的函数,单击一个元素可以隐藏其父元素

我的代码:

<div class="form-section" ng-init="visible = true" ng-show="visible">   
     <a class="next" ng-click="$parent.visible = false">NEXT</a>
</div>


您不需要
$parent

您要做的是在作用域上创建一个名为
visible
的变量,并将其设置为true。 因此,要更改变量,只需调用
visible


这可能会帮助您更好地了解正在发生的事情:

这里我在控制器中声明可见变量。两者都完成相同的任务

在这里,我有一个作用域上的函数,它在单击时被调用,执行相同的操作:
您不需要
$parent

您要做的是在作用域上创建一个名为
visible
的变量,并将其设置为true。 因此,要更改变量,只需调用
visible


这可能会帮助您更好地了解正在发生的事情:

这里我在控制器中声明可见变量。两者都完成相同的任务

在这里,我有一个作用域上的函数,它在单击时被调用,执行相同的操作:
$parent在angular中并不表示HTML结构中的父元素,而是嵌套作用域关系。在您提到的示例中,ng repeat为每个迭代创建子作用域,在本例中,$parent从这个子作用域指向它的父作用域。在您的情况下,两个HTML元素属于相同的范围,因此,正如已经回答的那样,在您的情况下不要使用$parent


在angular中处理父子作用域交互时,总是要为ng模型使用对象,而不是原语(ngModel=“obj.property”而不仅仅是ngModel=“property”),请参阅关于angular中作用域的非常好的文章。

$angular中的parent并不意味着HTML结构中的父元素,而是嵌套的作用域关系。在您提到的示例中,ng repeat为每个迭代创建子作用域,在本例中,$parent从这个子作用域指向它的父作用域。在您的情况下,两个HTML元素属于相同的范围,因此,正如已经回答的那样,在您的情况下不要使用$parent


在angular中处理父子作用域交互时,总是要将对象用于ng模型,而不是原语(ngModel=“obj.property”而不仅仅是ngModel=“property”),请参阅关于angular中作用域的非常好的文章

您发布的代码看起来不错。可能您在如何包含Angular或初始化应用程序时出错。我的浏览器没有向我抛出任何错误,因此我不确定如何检查是否正确包含Angular。您发布的代码看起来不错。可能您在如何包含Angular或初始化应用程序时出现问题。我的浏览器没有向我抛出任何错误,因此我不确定如何检查是否正确包含Angular。您建议如何执行此操作,以使父元素是隐藏的元素?我还有其他的,所以我想确保只有“的父项”是隐藏的。我能想到的唯一角度方法是使用不同的范围变量,而且如果要使用否定,每个表单部分也不需要ng init,请参见plunker:。我在本例中还添加了纯JS方法—将单击事件绑定到所有下一个a标记,并添加到它们的父类“ng hide”类中。您建议如何执行此操作,以便父元素是隐藏的?我还有其他的,所以我想确保只有“的父项”是隐藏的。我能想到的唯一角度方法是使用不同的范围变量,而且如果要使用否定,每个表单部分也不需要ng init,请参见plunker:。在这个示例中,我还添加了纯JS方法—将单击事件绑定到所有NEXT a标记,并添加到它们的父类“ng hide”类中
<div class="form-section" ng-init="visible = true" ng-show="visible">   
    <a class="next" ng-click="visible = false">NEXT</a>
</div>