Javascript 基本角度输入控制
我有一个基本的输入控件,它有三个绑定事件。该控件显示年份值。在每个事件中,控件都应该将其值存储在cookie中,以便在页面刷新时,当前值保持不变 事件:Javascript 基本角度输入控制,javascript,jquery,angularjs,cookies,cookiestore,Javascript,Jquery,Angularjs,Cookies,Cookiestore,我有一个基本的输入控件,它有三个绑定事件。该控件显示年份值。在每个事件中,控件都应该将其值存储在cookie中,以便在页面刷新时,当前值保持不变 事件: myApp.controller('TimeframeCtrl', ['$scope', '$cookieStore', function ($scope, $cookieStore) { // If
myApp.controller('TimeframeCtrl', ['$scope',
'$cookieStore',
function ($scope, $cookieStore) {
// If year cookie doesn't exist
if($cookieStore.get('year') == null) {
// Create year cookie
$cookieStore.put('year', 2014);
}
// Decrement year
$scope.prevYear = function() {
$scope.year = $scope.year - 1;
$cookieStore.put('year', $cookieStore.get('year') - 1);
}
// Increment year
$scope.nextYear = function() {
$scope.year = parseInt($scope.year) + 1;
$cookieStore.put('year', $cookieStore.get('year') + 1);
}
// User manually changes year
$scope.yearChange = function() {
// Not implemented
}
// Set timeframe control value
$scope.year = $cookieStore.get('year');
}]);
<form class="navbar-form pull-left" ng-controller="TimeframeCtrl">
<i class="fa fa-angle-left" ng-click="prevYear()"></i>
<input class="form-control" type="text" value="{{year}}" placeholder="Year" ng-blur="yearChange()"/>
<i class="fa fa-angle-right" ng-click="nextYear()"></i>
</form>
onchange
的输入本身(显然)
输入左侧的箭头将使其递增
myApp.controller('TimeframeCtrl', ['$scope',
'$cookieStore',
function ($scope, $cookieStore) {
// If year cookie doesn't exist
if($cookieStore.get('year') == null) {
// Create year cookie
$cookieStore.put('year', 2014);
}
// Decrement year
$scope.prevYear = function() {
$scope.year = $scope.year - 1;
$cookieStore.put('year', $cookieStore.get('year') - 1);
}
// Increment year
$scope.nextYear = function() {
$scope.year = parseInt($scope.year) + 1;
$cookieStore.put('year', $cookieStore.get('year') + 1);
}
// User manually changes year
$scope.yearChange = function() {
// Not implemented
}
// Set timeframe control value
$scope.year = $cookieStore.get('year');
}]);
<form class="navbar-form pull-left" ng-controller="TimeframeCtrl">
<i class="fa fa-angle-left" ng-click="prevYear()"></i>
<input class="form-control" type="text" value="{{year}}" placeholder="Year" ng-blur="yearChange()"/>
<i class="fa fa-angle-right" ng-click="nextYear()"></i>
</form>
HTML:
myApp.controller('TimeframeCtrl', ['$scope',
'$cookieStore',
function ($scope, $cookieStore) {
// If year cookie doesn't exist
if($cookieStore.get('year') == null) {
// Create year cookie
$cookieStore.put('year', 2014);
}
// Decrement year
$scope.prevYear = function() {
$scope.year = $scope.year - 1;
$cookieStore.put('year', $cookieStore.get('year') - 1);
}
// Increment year
$scope.nextYear = function() {
$scope.year = parseInt($scope.year) + 1;
$cookieStore.put('year', $cookieStore.get('year') + 1);
}
// User manually changes year
$scope.yearChange = function() {
// Not implemented
}
// Set timeframe control value
$scope.year = $cookieStore.get('year');
}]);
<form class="navbar-form pull-left" ng-controller="TimeframeCtrl">
<i class="fa fa-angle-left" ng-click="prevYear()"></i>
<input class="form-control" type="text" value="{{year}}" placeholder="Year" ng-blur="yearChange()"/>
<i class="fa fa-angle-right" ng-click="nextYear()"></i>
</form>
使用
ng model
绑定到$scope.year
<input class="form-control" type="text" ng-model="year" placeholder="Year" />
但实际上,您应该创建一个,而不是一个控制器,这样您就能够重用您的组件使用
ng model
绑定到$scope.year
<input class="form-control" type="text" ng-model="year" placeholder="Year" />
但实际上,您应该创建一个,而不是一个控制器,这样才能重用您的组件您可以这样做: html
你可以这样做: html
我建议您对此使用指令,而不是控制器。然后在
link
函数中实现它的jquery逻辑。我建议您为此使用指令,而不是控制器。然后在link
函数中实现它的jquery逻辑。。。我不需要重复使用它。不过谢谢。哦。。。我不需要重复使用它。谢谢你。