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
中反映的更改
玩它表明。投票给每个人!!!都对了是的!今天每个人都非常乐于助人。:)