【发布时间】:2015-08-09 15:07:44
【问题描述】:
我已经问过了,但没有达到以下要求。我正在尝试让 Angular 在 MVC 中跨控制器进行对话,以控制可见/隐藏的段落。我使用的是 Typescript,而不是 Javascript。
我有两个控制器和两个视图,view1.cshtml/view1.ts 和 view2.cshmtl/view2.ts。
在 view1.cshtml 我有一个按钮:
<a class="Button" id="button1" data-ng-click="minorTask(); toggle()">Click</a>
我在 toggle() 中添加了我想用来在 view2.cshmtl 中显示段落的函数。
view2.cshtml中的div:
<div id="toggleThis">
<p>Some text<p>
<div>
我希望 view1 中的按钮与 view2 中的 toggleThis 可见性相关联。当 button1 被点击时,它应该将 view2 中的文本设置为可见,而它正常执行其他功能。
Q1:如何设置它,以便在单击 button1 时将 toggleThis 从隐藏设置为可见?
Q2:如何将 toggleThis 设置为最初隐藏?
Q3:我应该将函数放在哪个 Typescript 文件中?
【问题讨论】:
-
只有在控制器中使用工厂/服务或注入控制器服务才有可能。您在第一个控制器的范围内有一个变量,并希望在第二个控制器中访问它。你应该看到docs.angularjs.org/api/ng/service/$controller
-
我是 Angular 新手,不明白应该把 $controller 指令放在哪里。我需要把它放在 toggleThis 和 button1 中吗?
标签: jquery angularjs model-view-controller toggle