2014-06-16 15 views
16

Hi sonucu far.This benim endeks dosyasıdır yüzden yaptıklarını edilir ng-şunlardır kullanma Dizin dosyası Views/Home/Index.cshtml dosyasında saklanır. Bu, burada saklanan tek dosya olacaktır ve ASP.NET MVC kullandığım için gereklidir.Ben açısal için oldukça yeni ve ben sadece it.Here ile ilk uygulamam başladı tanımsız

var codeArt = angular.module("codeArt", [ 
    'codeArt.login' 
]); 

Sonra giriş ve kayıt Uygulama/komut/login/

login.js ilgili işlevleri içerecek bir ek modül oluşturuldu:

I/komut/codeArt.js Uygulaması'nda benim ana modülü tanımlanmış

login.controller('loginCtrl', function($scope){ 
    $scope.name = "Nistor Alexandru"; 
    $scope.clicked = function(){ 
     alert("I was clicked"); 
    } 
}); 
012:
var login = angular.module('codeArt.login', []) 

Ben Uygulaması'nda/komut/login/denetleyicileri/loginCtrl.js bir denetleyici tanımlananAyrıca App/komut/login/login.html içinde giriş sayfası için ana görünümü tanımlanmış ve bu lookslike: benim index.cshtml dosyasından görülebileceği gibi

<section> 
    <div>{{name}}</div> 
    <button ng-click="clicked()">Clicked Alert!</button> 
</section> 

Ben Ng- kullanarak uğraş app.html dosyasını yüklemek için içerir.Uygulama çalıştırdığımda nedense sadece ng-include: undefined ve html dosyası yüklenmemiş bir yorum bulabilirim.

Yönlendirmeyi bir noktada entegre ediyorum ama şimdilik bunun neden düzgün çalışmadığını anlamak istiyorum.

Ayrıca bu yolu denedim ../../App/scripts/login/login.html index.cshtml dosyasına ilişkin dosyalar için lokma olacak, ancak durum böyle değildi.

cevap

34

-dahil ng böyle olmalı, bir alıntı eksik:

<ng-include src="'/Content/App/scripts/login/login.html'"></ng-include> 

Açısal ifade URL'ye değerlendirilmesi. Kaynak bir dizge sabiti ise, tek tırnak içine aldığınızdan emin olun, örn. src = " 'myPartialTemplate.html'".

https://docs.angularjs.org/api/ng/directive/ngInclude

** Eski Cevap **

Sana content klasörünün içine statik html dosyaları yerleştirmek veya bir denetleyici diyelim bunları döndürmek için bazı yönlendirme oluşturmak öneririm. yok (

<ng-include src="/Content/App/scripts/login/login.html"></ng-include> 

Yoksa TemplateController oluşturmayı düşünebilirsiniz ve o zaman isteyen dosya adına göre görünümü dönmek mümkün olabilir: Bu içerik klasörünün içindeki kutudan çalışması gerekir) kurulum için bir rota unutmak: Bu isim whatever.cshtml ile /Views/Template/ içinde bir klasör var varsayar

<ng-include src="'/Template/get/whatever'"></ng-include> 

public ActionResult Get(string name) 
{ 
     return View(name); // return View(name + ".cshtml") 
} 

. Bir denetleyici kullanmanın yararı, denetleyiciniz tarafından proxy edilir (daha sonra klasör yapılarını değiştirebilir ve denetleyicideki referansı kolayca güncelleyebilir) ve muhtemelen bazı sunucu tarafındaki verileri geçirebilir, ancak gereksinimlerinize bağlıdır.

+0

ben İçerik klasörle önerinizi test ettik ama çalışmıyor ... zaten neden İçerik klasörü asp.net mvc için herhangi bir başka özel sonra herhangi bir klasör olur mu? ... Ayrıca web geliştirici araçlarını kontrol ettik ve nedense login.html dosyası için sunucuya bir istek oluşturulmadı – aleczandru

+0

cevap. İçerme şablonunda bir teklif eksik. – lucuma

+0

Adı geçen alıntılanan çalışma ekleniyor ... ama bu çok kafa karıştırıcı neden tırnaklarımı eklemek zorunda kaldım? – aleczandru

0

ngInclude göreli bağlantılar, bu yüzden göreli bir yol kullanmak zorunda: ../ İçerik/[...]

İlgili konular