【发布时间】:2017-04-13 14:22:15
【问题描述】:
您能告诉我我的代码有什么问题吗?我得到了初始的 HTML 页面,但是当我单击“打开”时,什么也没有发生。甚至控制台也不会记录错误或任何其他更改。
app.js
var app = angular.module('carApp', ['ui.bootstrap']);
ctrl.js
app.controller('carCtrl', function($scope, $http, $uibModal) {
$http.get('jobs.json').success(function(data) {
$scope.data = data;
$scope.open = function() {
var modalContent = $uibModal.open({
templateUrl: 'careersTpl.html',
controller : modalContentCtrl,
resolve: {
items: function() {
return $scope.data;
}
}
})
}
});
});
var modalContentCtrl = function ($scope, $modalInstance, data) {
$scope.data = data;
$scope.selected = {
item: $scope.data.specs
};
};
JSON:
{
"specs":[
{
"job-title":"TITLE",
"job-apply":"applink",
"job-body":"JOB BODY"
}
]
}
HTML:
<div class="car-up">
<script type="text/ng-template" id="careersTpl.html">
<div class="modal-header">
<h3>Lorem Ipsum</h3>
</div>
<div class="modal-body">
<p ng-repeat="item in data">{{item}}</p>
</div>
</script>
<button class="btn" ng-click="open()">Open</button>
</div>
我是 AngularJS 的新手,但我已经链接了 app.js 和 ctrl.js...谢谢。
编辑:在我将ng-controller="carCtrl" 放入 html 文件后,我收到此错误:
错误:[$injector:unpr] http://errors.angularjs.org/1.5.7/$injector/unpr?p0=%24modalInstanceProvider%20%3C-%20%24modalInstance O/https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:6:412 db/n.$injectorhttps://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:43:84 d@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:40:344 分贝/Vhttps://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:43:144 d@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:40:344 e@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:41:78 h/<.invoke href="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:41:163" rel="nofollow" target="_blank">https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:41:163 gf/this.$gethttps://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:89:397 解决成功@https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.2.0/ui-bootstrap-tpls.js:4422:34 e/https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:130:409 vf/this.$gethttps://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:145:103 vf/this.$gethttps://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:142:165 vf/this.$gethttps://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:145:399 lc[b]https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:274:444 顺丰@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:37:31 射频/d@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js:36:486
【问题讨论】:
-
在你的 open 函数中做一个 console.log 看看它是否正在触发
-
为什么你在
$http.get调用success函数中定义了$scope.open.. ajax 调用成功了吗? -
您是否在 html 中通知了控制器?像 ng-controller="controllerName"
-
不。没有。甚至没有记录数据。
-
我已经编辑了这个问题。请检查。
标签: javascript jquery angularjs json twitter-bootstrap