Angularjs アプリに問題があり、どこに問題があるのかわかりません。
plunkerで確認してくださいここ
ボタンをクリックすると、iCheck() プラグインが実行されるはずですが、実行されません
Angularjs アプリに問題があり、どこに問題があるのかわかりません。
plunkerで確認してくださいここ
ボタンをクリックすると、iCheck() プラグインが実行されるはずですが、実行されません
より優れた iCheck ディレクティブは、https ://github.com/fronteed/iCheck/issues/62 (wajatimur)にあります。
return {
require: 'ngModel',
link: function($scope, element, $attrs, ngModel) {
return $timeout(function() {
var value;
value = $attrs['value'];
$scope.$watch($attrs['ngModel'], function(newValue){
$(element).iCheck('update');
})
return $(element).iCheck({
checkboxClass: 'icheckbox_flat-aero',
radioClass: 'iradio_flat-aero'
}).on('ifChanged', function(event) {
if ($(element).attr('type') === 'checkbox' && $attrs['ngModel']) {
$scope.$apply(function() {
return ngModel.$setViewValue(event.target.checked);
});
}
if ($(element).attr('type') === 'radio' && $attrs['ngModel']) {
return $scope.$apply(function() {
return ngModel.$setViewValue(value);
});
}
});
});
}
};
すべてを機能させるには、AngularJS が実際に jQuery を使用するように強制する必要があります。
AngularJS のソース コードには jQlite が含まれていますが、jQuery とは異なります。angular.js の前に jQuery を含めると、Angular は独自の実装の代わりにそれを使用します。
したがって、index.html でこれを変更するだけです。
<script data-require="jquery@*" data-semver="2.0.3" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script data-require="angular.js@*" data-semver="1.2.9" src="http://code.angularjs.org/1.2.9/angular.js"></script>
(jQuery は angular.js の前です)