我在将值从范围传递给控制器时遇到了问题。
ResourceManagementCtrl控制器
我在这里得到一张显示局部视图的mdDialog
$scope.view = function (data) {
$mdDialog.show({
locals: { dataToPass: data },
clickOutsideToClose: true,
templateUrl: '/ResourceManagement/viewres',
controller: 'ViewingResCtrl',
fullscreen: true
}).then(function (data) {
});
}
ViewingResCtrl控制器
$scope.data = dataToPass;
$scope.currPage = 0;
$scope.url = "/ViewerJS/#../Uploads/" + $scope.data.filename;
$scope.$watch('currPage', function (newval, oldval) {
console.log(newval, oldval);
});
viewres.cshtml
这是我的模板。
@{
Layout = null;
}
<md-dialog aria-label="Uploading" flex="50" md-whiteframe="10">
<md-toolbar>
<div class="md-toolbar-tools dark-primary-color">
<h2>{{data.title}}</h2>
</div>
</md-toolbar>
<md-dialog-content>
<div layout="column" layout-align="center center" style="overflow:hidden!important;">
<iframe ng-src="{{url}}" allowfullscreen webkitallowfullscreen height="500" width="700" id="viewId"></iframe>
<input type="text" ng-model="totalPages" id="totalPages">
<input type="text" ng-model="currPage" id="getpage">
</div>
</md-dialog-content>
</md-dialog>
<script>
function getPage(p) {
document.getElementById('getpage').value = p;
}
function getTotalPage(p) {
document.getElementById('totalPages').value = p;
}
</script>
我曾经把我的函数getPage
和getTotalPage
放在这里,因为每当我把它ViewingResCtrl
放进去它总会返回错误但是当我把我的函数放在我的视图中时一切正常但是我的问题是我的模型currPage
每当我点击我的viewerjs iframe中的下一页时都无法更新。 DOM正在更新,但我的控制器中的值永远不会更新,即使我在$ watch