gpt4 book ai didi

javascript - 在 ng-controller 中使用 $scope

转载 作者:行者123 更新时间:2023-11-28 00:50:43 25 4
gpt4 key购买 nike

使用以下代码,我无法获取我的父作用域,也无法获取要绑定(bind)的 $scope。

index.html

<div ng-controller="MainCtrl">
...
<div ng-include="sidebarbar.url"></div>
</div>

main.js

angular.module('myApp')
.controller('MainCtrl', ['$scope', 'DataProvider', 'SidebarService', function ($scope, DataProvider, SidebarService) {
//Initialize
$scope.data= DataProvider;
...

在 Controller 内的index.html中,我可以完全访问我的数据范围,现在我需要在侧边栏 View 中显示部分数据,SiderbarServices打开侧边栏,设置所有工作的选定ID

details.html(这是ng-include打开的)

<div ng-controller="DetailsCtrl">
<script type="text/javascript">
console.log('test'); //is displayed
console.log(data); //not defined
console.log($parent); //not defined
console.log(testScope); //not defined
</script>
</div>

details.js( Controller )

angular.module('myApp').controller('DetailsCtrl', ['$scope', function ($scope) {
$scope.data= $scope.$parent.data;
$scope.testScope = 'testing if available';

console.log($scope); //is displayed
console.log($scope.data); //is displayed
}]);

如何从 ng-include 内部访问数据? (我无法使用 View ,因为我已经在路由)

最佳答案

使用此代码查看详细信息.html:

<div ng-controller="DetailsCtrl">
<!-- <script type="text/javascript">
console.log('test'); //is displayed
console.log(data); //not defined
console.log($parent); //not defined
console.log(testScope); //not defined
</script> -->
<div>{{data}}</div>
</div>

并在主 html 中替换此代码:

<div ng-include="'details.html'"></div>

参见plunker它正在工作

你犯了这个错误:应该是ng-include="'details.html'"不是ng-include="details.html"

<script>标签在 ng-controller 内不起作用。

关于javascript - 在 ng-controller 中使用 $scope,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26817668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com