UI引导日期选择器不调用内联控制器作用域上的函数
UI-Bootstrap datepicker does not call function on inline controller scope
我正试图在模态中的窗体中添加一个角度ui日期选择器,但它没有调用我试图在内联控制器的作用域上定义的函数,因此出现了问题。
我正在内联定义模态模板,以及使用开放调用内联定义模态的控制器。我尝试在调用addTimeline时传入外部控制器的作用域,但这似乎没有帮助。
这是我的代码:
$scope.addTimeline = function($scope, $modal) {
$uibModal.open({
templateUrl: 'modalContent1.html',
controller: function($scope) {
$scope.vm = {};
$scope.vm.newEvent = {
vak: '',
soort: '',
klas: '',
groep: '',
lokatie: '',
begintijd: '',
eindtijd: '',
duratie: ''
};
$scope.opened = false;
$scope.vm.toggle = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = !$scope.opened;
};
},
controllerAs: 'vm'
});
};
<button class="btn btn-primary " ng-click="addTimeline($scope, $modal)">
Voeg tijdvak toe
</button>
<div class="form-group">
<label class="col-md-4 control-label" for="selectbasic">Begintijd</label>
<div class="col-md-4">
<p class="input-group">
<input type="text" class="form-control" readonly uib-datepicker-popup="dd MMMM yyyy" name="newEvent" ng-model="newEvent.begintijd" is-open="opened" close-text="Close">
<span class="input-group-btn">
<button
type="button"
class="btn btn-default"
ng-click="vm.toggle($event)">
<i class="glyphicon glyphicon-calendar"></i>
</button>
</span>
</p>
<uib-timepicker ng-model="tijdvakStart" hour-step="1" minute-step="15" show-meridian="false">
</uib-timepicker>
</div>
</div>
您正在使用controllerAs:'vm'将您的控制器更改为controller:
function() {
var vm = this;
vm.newEvent = { vak: '', soort: '', klas: '', groep: '', lokatie: '', begintijd: '', eindtijd: '', duratie: '' };
vm.opened = false;
vm.toggle = function ($event) {
$event.preventDefault();
$event.stopPropagation();
vm.opened = !vm.opened;
};
}
或者简单地删除控制器A:'vm'
相关文章:
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 从指令链接函数监视控制器作用域
- 控制器作用域变量在刷新之前未加载
- AngularJS:如何在指令范围的对象发生变化时更新与控制器作用域相关联的控制器作用域
- ng-click 指令不调用控制器作用域中定义的函数
- 如何从2级指令访问控制器作用域
- 角度指令控制器作用域继承
- 触发指令AngularJs的控制器作用域
- Angularjs-在路由更改时刷新控制器作用域
- 访问父指令's子指令中的控制器作用域变量
- 将Angular Service对象绑定到控制器作用域并更新
- UI引导日期选择器不调用内联控制器作用域上的函数
- 将变量从控制器作用域传递到指令
- 工厂中与控制器作用域绑定的已修改数据不会更新
- 带有双向绑定的孤立作用域指令不能反映控制器作用域的变化
- 如何在angular 1.4.5+中操纵指令中的控制器作用域
- AngularJS:在两个具有隔离作用域的指令之间共享一个控制器作用域
- 如何将控制器作用域变量传递给angular.元素在头部元素中追加子元素时
- AngularJS+Jasmine -在指令中写入一个控制器作用域
- 如何从嵌入式D3脚本中访问Angular控制器作用域