我正在使用ui-router解析来从服务中获取一些数据.
问题是我需要从父$ scope获取一个值,以便调用服务,如下所示.
resolve: {
contactService: 'contactService',
contacts: function ($scope, contactService) {
return contactService.getContacts($scope.parentCtrl.parentObjectId);
}
}
Run Code Online (Sandbox Code Playgroud)
我一直在 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
还尝试了一些绝望的尝试,例如向解析对象添加范围,如下所示,但没有成功.
scope: $scope
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
情况:我最近开始使用Typescript,目前正将它集成到我的AngularJS Web应用程序中.我一直在使用'controller as'语法而不是$ scope.
问题:我似乎无法找到一个妥善的办法来取代var self = this;
我开始取代vm与this无处不在并很快让我到一个死胡同时的forEach函数中,单击事件等.
我的临时解决方案:var self = this;在每个函数中进行转换,因为据我所知,我不能全局转换它.它也不适用于所有情况.
我的问题:我错过了一些明显的东西吗?有没有更好的方法来访问控制器的范围?
我正在<select>通过jQuery append()函数创建一个动态元素,但我似乎无法获得正确的选定值.我总是得到第一个选项,即1.我正在尝试配置Aloha编辑器,这可能与问题有关.
这是附加在侧栏中的select元素.
$('.aloha-sidebar-inner').append('<select id="columns"><option value="1">1 Column</option><option value="2">2 Columns</option><option value="3">3 Columns</option><option value="4">4 Columns</option></select>').trigger('create');
Run Code Online (Sandbox Code Playgroud)
如上所述,我使用Aloha Editor,因此jquery看起来像这样:
Aloha.ready(function() {
$('.aloha-sidebar-inner').append('<button id="add-section" class="btn aloha-sidebar-btn sidebar-item" type="button" onclick="addSection(document.getElementById(\'articles\').value);">Add Section</button>');
$('.aloha-sidebar-inner').append('<p>Number of Columns:</p>');
$('.aloha-sidebar-inner').append('<select id="articles" class="sidebar-item"><option>1</option><option>2</option><option>3</option><option>4</option></select>');
});
function addSection() {
var idCounter = 0;
alert($('#articles').val());
};
Run Code Online (Sandbox Code Playgroud)
警报窗口保持返回值1.可能存在问题,因为我动态创建了select元素?
我尝试过使用$( "#columns option:selected" ).val();但仍然没有.我甚至尝试过使用text(),但仍然没有; alert继续返回第一个选项.
我也试过使用$('#add-section').click或$('#articles').change听众,但他们似乎没有回应.