javascript - 如果我在 Controller 中设置了某些内容,如何在 View 中访问它?

标签 javascript angularjs

我在公司 Controller 中创建了这个。

$scope.$watch('companyName', function () {
      console.log($scope.company.name); 
    });

我想获取公司名称,如何在 ng-controller 与 View 中的 Controller 名称匹配的情况下调用它?

会是类似这样的事情吗?

<span ng-init="companyName"> {{ companyName() }} </span>

我不确定我是否理解如何从 View 中的该函数获取信息。我想我自己也很困惑。

最佳答案

是的,你的样本看起来有点奇怪。

无论如何,要在 View 中绑定(bind) $scope 属性,您可以使用它的名称。

所以在 Controller 中:

$scope.company = { name: "Acme" };

在 View 中:

<span> {{ company.name }} </span>

无需手动创建$watch。 Angular 将为 View 中使用的任何属性(为您)创建一个监视。

您也不必使用 ng-init,除非您想初始化 View 中的某些内容。

要查看 watch 的运行情况,只需在 span 旁边添加一个文本 input:

<input type="text" ng-model="company.name"/>

如果更改文本框中的值,您将看到 span 中反射(reflect)的更改。

Here is a plunker玩演示。

关于javascript - 如果我在 Controller 中设置了某些内容,如何在 View 中访问它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22178217/

相关文章:

javascript - 如何设置 <div> 的宽度以适应等宽字体中恒定数量的字母?

javascript - 在正则表达式中指定复杂条件

angularjs - 如何使用 angularjs 在部分 View 中设置自动对焦?

javascript - 如何从使用动词的解析器刷新数据?

javascript - Angular Directive 将属性解释为字符串

javascript - 谷歌地图 v2 : how to display various markers with the same coordinates

javascript - 无法使用javascript向音频标签添加多种音频格式

javascript - template.data._id 在 Meteor 中做什么?

javascript - 如何在 TypeScript 中为现有 Angular1 $filter 函数添加类型?

angularjs - 使用 Node 在 Angularjs 中保存复选框列表