cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Saya menggunakan r.js untuk membungkus kebergantungan dan mendapati bahawa sudut melaporkan ralat yang saya gunakan memerlukan untuk memperkenalkan fail sudut.

fail angular.js

define(['angular'],function(){
	angular.module("todosa",[]).controller("todosAngular",function($scope){
		$scope.sum=new Array();
		var fn=function(){
			if($scope.sum.length<10 ){
				if($scope.arr!=="" && $scope.arr!==undefined){
					$scope.sum.unshift($scope.arr);
					$scope.arr="";
				}
			}else{
				alert("已经10个了,不能在增加了。");
				$scope.arr="";
			}
		}
		$scope.todosAclick=function(){
			fn();
		};
		$scope.todosAremove=function(){
			$scope.sum=[];
			$scope.arr="";
		};
		$scope.todosAre=function(s){
			$scope.sum.splice(s,1);
		};
		$scope.akeydown=function(e){
			if(e.keyCode==13) fn();
		};
	});
})

fail masukan main.js,reuiqre

require.config({
    baseUrl:"../js/",
    paths:{
        'jquery':'lis/jquery.min',
        'avalon':'lis/avalon.min',
        'angular':'lis/angular.min'
    }
});
require(['todosAngular','todosjs','todosAvalon','todosJquery'],function(){
});

R.js

({
    baseUrl:".",
    name:'todosmain',
    paths:{
        'jquery':'lis/jquery.min',
        'avalon':'lis/avalon.min',
        'angular':'lis/angular.min'
    },
    excludeShallow:["angular","avalon","jquery"],
    out:"todos-Set.js"
})

Mesej ralat

Error: [$injector:unpr] http://errors.angularjs.org/1.4.3/$injector/unpr?p0=eProvider%20%3C-%20e%20%3C-%20todosAngular
    at Error (<anonymous>)
    at http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:6:416
    at http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:40:375
    at Object.d [as get] (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:38:364)
    at http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:40:449
    at d (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:38:364)
    at Object.e [as invoke] (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:39:124)
    at P.instance (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:80:122)
    at S (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:61:199)
    at g (http://127.0.0.1:4000/sunshine/add/js/lis/angular.min.js:54:384) 

Ini hanyalah demo kecil todos yang ditulis oleh saya. Saya ingin mencuba membungkusnya dengan r.js, tetapi sudut terus menyimpannya. Hampir tiada ralat sebelum pembungkusan menggunakan r.js.
alamat demo:
untuk pembungkusan
selepas pembungkusan

迷茫迷茫2849 hari yang lalu718

membalas semua(2)saya akan balas

  • 某草草

    某草草2017-05-15 16:56:34

    1. Saya mungkin tahu di mana ralat anda, ia sepatutnya menjadi masalah suntikan kebergantungan. Seperti $scope di atas, ia perlu disuntik Kawalan hendaklah ditulis seperti ini: App.controller("CtrlName",["$scope",function($scope){...}]) kerana jika tidak, strukturnya akan musnah apabila pembungkusan akan dilaporkan; Saya membalas kepada anda melalui telefon bimbit saya, yang menyusahkan jika saya mempunyai masa, saya akan memberikan penjelasan yang lebih terperinci pada komputer saya.

    (Saya tidak tahu mengapa kod itu sentiasa bercelaru selepas pengubahsuaian...)

    balas
    0
  • 为情所困

    为情所困2017-05-15 16:56:34

    Sebelum anda membungkus dengan r.js, gunakan ngAnnotate untuk mengendalikan sintaks suntikan kebergantungan (jadi anda tidak memerlukan sintaks mod tatasusunan Sudah tentu, yang terbaik adalah menggunakan alat binaan untuk mengautomasikan proses ini).

    balas
    0
  • Batalbalas