Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.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,我在公司控制者的一份报告中创建了这个 $scope.$watch('companyName', function () { console.log($scope.company.name); }); 我想获得公司名称,如果ng controller与视图中的controller名称匹配,我该如何称呼它 会不会是类似这样的事情 <span ng-init="companyName"> {{ companyName() }} </span> {{co

我在公司控制者的一份报告中创建了这个

$scope.$watch('companyName', function () {
      console.log($scope.company.name); 
    });
我想获得公司名称,如果
ng controller
与视图中的controller名称匹配,我该如何称呼它

会不会是类似这样的事情

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

我不确定我是否理解如何从视图中的该函数获取信息。我想我把自己弄糊涂了。

当绑定到值时,假定它是相对于
$scope
的。在这种情况下(假设您想要的值与您在
$watch
中指定的值相同),您想要
init
一个项目到一个对象,它应该是这样的:

 <span ng-init="company = {name: 'whatever' }">{{company.name}}</span>
{{company.name}

出于各种原因,不建议使用
ng init
,但在
ng repeat
等情况下除外。如果它能工作,它也能工作,但我建议您习惯于在控制器中初始化东西(只需在控制器函数结束之前的某个地方添加语句,例如
$scope.company={name:'whatever'};
)。一个原因是为了更容易在单元测试中测试控制器,因为让您的测试依赖于特定的视图是很烦人的。)

我想您已经把自己弄糊涂了

在公司控制器中,您只需执行以下操作:

$scope.companyName = "ACME";
要在视图中访问它,请执行以下操作:

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

最简单的方法是:

控制器:

$scope.companyName = "My company";
$scope.company = { name: "Acme" };
视图:

{{companyName}
$scope.$watch
只是一个监视CompanyName值变化的函数,我认为您不需要它。

是的,您的示例似乎有点奇怪

无论如何,要在视图中绑定
$scope
属性,可以使用其名称

因此,在控制器中:

$scope.companyName = "My company";
$scope.company = { name: "Acme" };
并且认为:

{{ companyName }}
<span> {{ company.name }} </span>
如果更改文本框中的值,您将看到
span
中反映的更改


玩它表明。

投票给每个人!!!都对了是的!今天每个人都非常乐于助人。:)