1. 程式人生 > >AngularJs Type error : Cannot read property 'childNodes' of undefined

AngularJs Type error : Cannot read property 'childNodes' of undefined

一、在AngularJs和JQuery外掛共存咋專案中經常會遇到如下異常

Type error : Cannot read property 'childNodes' of undefined

解決方案1:

$timeout(init, 0);


引用$timeout服務,非同步執行JQuery的初始化程式碼

解決方案2:

angular.element(document).ready(function () {

    //Angular breaks if this is done earlier than document ready.

    setupSliderPlugin();

});

 在angularjs初始化檢視之後執行JQuery 的繫結

二、在使用Bootstrap-table繫結工具欄是就會遇到如上問題

@*工具欄*@

<div id="toolBar">

    <div class="btn-group">

        <a class="btn green" ng-click="addBtnClick()"><i class="fa fa-plus">新建</i></a>

        <a class="btn red"><i class="fa fa-trash">刪除</i></a>

    </div>

</div>
<table id="datatable" class="table table-striped table-hover table-bordered"

    data-search="true"

    data-show-refresh="true"

    data-show-toggle="true"

    data-show-columns="true"

    data-toolbar="#toolBar">

</table>

控制器載入成功,繫結列表

//繫結列表

var table = null;

$timeout(function() {
	table = $('#datatable').bootstrapTable({
		columns: [
			{
				field: 'checkbox',
				title: '主鍵',
				checkbox: true
			},
			{
				field: 'Name',
				title: '角色名稱'
			},
			{
				field: 'SortValue',
				title: '排序列'
			},
			{
				field: 'IsSys',
				title: '角色分類',
				formatter(value, row, index) {
					if (value)
						return '內建角色';
					return '自定義角色';
				}
			},
			{
				filed: 'RoleID',
				title: '操作',
				formatter(value, row, index) {
					var btn = '';
					btn += '<span class="btn btn-xs blue" title="編輯"><i class="fa fa-edit"></i></span>';
					btn += '<span class="btn btn-xs purple" title="許可權"><i class="fa fa-gears"></i></span>';
					return btn;
				}
			}
		],
		url: '/admin/menu/getlist_role',
		pagination: true
		sidePagination: 'server',
		queryParams: function(params) {
			return params;
		}
	});
}, 0);
更多:
AngularJs ng-bind-html指令整理

angularjs unsafe ng-href using javascript: void(0);

AngularJs $http 請求服務整理